zoukankan      html  css  js  c++  java
  • 图像处理---基础

    转自:http://www.cnblogs.com/a-toad/archive/2008/10/20/1315268.html

     1.类
        GDI+提供了两个类可以用于表示图像:Bitmap类和Metafile类,这两个类都继承自Image类.
        Image类: 为 Bitmap 和 Metafile 的类提供功能的抽象基类。因此不能直接创建Image对象,
                        只能创建继承自它的Bitmap和Metafile类的实例.
        Bitmap类:封装 GDI+ 位图,提供了处理位图的功能。允许控制基于光栅的位图的基本特性,
                        如大小、分辨率、颜色深度、是否包含Alpha信息、是否使用颜色地图等。
        Metafile类:定义图形图元文件。图元文件包含描述一系列图形操作的记录,这些操作可以被
                        记录(构造)和被回放(显示)。此类不能继承。(MSDN)
                        提供了处理矢量图像的功能。

    2.位图图像的颜色
            图像像素颜色由三种基本颜色有机组合而成,即红-R、绿-G、蓝-B称为三原色。
            每种基色可取0~255的值。每种颜色都有对应的R、G、B值。

    3.图像颜色值的获取
            通过Bitmap类的GetPixel()方法获取图像上指定像素的颜色值。
            Color color = new Color();
            color = bitmap.GetPixel(i,j);
            以上bitmap表示Bitmap类的一个实例,(i,j)表示取得图像颜色的坐标位置。

    4.位图颜色值分解
           像素颜色值是一个长整型的数值,占4个字节,分别代表A、B、G、R。
           从Color中分解R、G、B可直接使用:
           int r,g,b;
           Color color = new Color();
           r = color.R;
           g = color.G;
           b = color.B;

    5.图像的RGB和亮度、色差信号间值得关系
         | Y  |       | 0.31    0.59    0.11   |    | R |
         | I   |  =   |0.60    -0.28   -0.32  |    | G |
         | Q  |       |0.21    -0.52   -0.31  |    | B |
        这样,亮度Y为:Y=0.31R + 0.59G + 0.11B   

    6.图像像素颜色的设定
          设置像素使用Bitmapl类的SetPixel()方法:
            bitmap.SetPixel(i,j,Color.FromArgb(r,g,b));
            bitmap为Bitmap类的实例,i、j为图像的坐标点,r、g、b为图像的R、G、B值。

    7.LockBits处理图像像素
          GetPixel()、SetPixel()处理图像像素比较方便,然而面对大量的图像像素数据时,程序会很慢。
          C#提供了一种高效率的像素处理方法即使用LockBits方法。
          LockBits方法类似于C++中的指针概念,直接操作内存中的像素数据,因此被认为是不安全的,
          需在Unsafe模式下使用它。

  • 相关阅读:
    Android——点击对话框上按钮不关闭对话框
    超酷的Android 侧滑(双向滑动菜单)效果
    Android快速开发不可或缺的11个工具类(下载)
    Android ——真机调试
    Android程序完全退出的三种方法
    android 添加桌面快捷方式
    最全Android开发常用工具类
    成为Java GC专家(5)—Java性能调优原则
    JVM调优总结 + jstat 分析
    mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)
  • 原文地址:https://www.cnblogs.com/jameslong/p/3805986.html
Copyright © 2011-2022 走看看