课程:
- 1、【高分求救】VC++下如何载入一张位图并获取该位图的像素值
- 2、摄像头,如何识别指定区域的单个像素点 亮度与颜色
- 3、如何根据像素值 计算亮度
- 4、用photoshop将图片某个部位的亮度降低怎么弄?
- 5、labview 图像处理 提取照片某给定坐标点的亮度信息
- 6、python用PIL如何获得一张图片的亮度值
【高分求救】VC++下如何载入一张位图并获取该位图的像素值
载入位图可以用LoadBitmap()有两种重载形式
BOOL LoadBitmap( LPCTSTR lpszRecourceName );
BOOL LoadBitmap( UINT nIDResource );
参数: lpszResourceName 指向一个包含了位图资源名字的字符串(该字符串以null结尾)。
nIDResource 指定位图资源中资源的ID号。
获取位图可以用GetBitmapBits()
DWORD GetBitmapBits( DWORD dwCount, LPVOID lpBits ) const;
CBitmap::GetBitmap
int GetBimap( BITMAP* pBitMap );
返回值:调用成功时返回非零值,否则为0。
参数: pBitMap 指向BITMAP结构的一个指针,不能为NULL。
说明:
本函数用于查看CBitmap对象的信息。返回的信息存放在pBitMap指向的BITMAP结构中。
BITMAP结构如下:
BITMAP结构具有如下形式:
typedef struct tagBITMAP
{ /* bm */
int bmType;
int bmWidth;
int bmHeight;
int bmWidthBytes;
BYTE bmPlanes;
BYTE bmBitsPixel;
LPVOID bmBits;
} BITMAP;
BITMAP结构定义了逻辑位图的高,宽,颜色格式和位值。
成员: bmType 指定了位图的类型。对于逻辑位图,这个成员必须为0。
bmWidth 指定了位图的宽度,以像素为单位。宽度必须大于0。
bmHeight 指定了位图的高度,以扫描行为单位。高度必须大于0。
bmWidthBytes 指定了每个扫描行中字节的数目。这个值必须是个偶数,因为图形设备接口(GDI)假定位图中的位值构成一个整数(2字节)数组。换句话说,bmWidthBytes*8必须是16的倍数,大于或等于bmWidth与bmBitsPixel相乘所得的值。
bmPlanes 指定了位图中颜色平面的数目。
bmBitsPixel 指定了每个位平面中用于定义一个像素所需的颜色位数。
bmBits 指向位图中位值的位置。bmBits成员必须是一个指向单字节数组的长指针。
注释:
现在使用的位图格式有单色的和彩色的。单色的位图使用每个位平面一位的格式。每个扫描线是16的倍数。
对于一个高度为n的单色位图,扫描线是按照如下方式组织的:
Scan 0
Scan 1
.
.
.
Scan n-2
Scan n-1
单色设备上的像素不是黑就是白。如果位图中对应的位是1,则像素就被打开(白)。如果对应的位是0,则像素被关闭(黑)。
所有具有RC_BITBLT位的设备都支持位图,该位是在CDC::GetDeviceCaps成员函数的RASTERCAPS索引中设置的。
每个设备都有它自己的颜色格式。为了在不同的设备间传递位图,使用Windows的GetDIBits和SetDIBits函数。
给你举个例子:
CBitmap m_bmp;
BITMAP *pBitMap;
m_bmp.LoadBitmap("d:\\图片\\示例图片\\flower.bmp");//加载位图
m_bmp.GetBitmap(pBitMap);//获取位图信息
int i,j;
DWORD color=pBitMap-bmBits[i*pBitMap-bmHeight+pBitMap-bmWidth];//访问第i行第j列像素点的颜色值
摄像头,如何识别指定区域的单个像素点 亮度与颜色
LED颜色及亮度的测试方法有如下几种:1、人眼识别:依靠作业人员的眼睛观察判断LED颜色及亮度是否正确,该方法的优点是简单,缺点是完全依赖人来判断,容易产生由于人员的纪律不佳导致产品品质无法把控,同时无法做到自动化。2、专业的LED自动化测试仪:该种方法是通过光纤到LED的光导入到LED自动化测试仪中,LED自动化测试仪中对光进行分析后,一般会返回多种格式的颜色及亮度的值,如RGB,Hue,饱和度,亮度,xy值等等。该种方法是准确性高,自动化程度高。缺点是需要额外的成本。主流的LED测试仪有FeasaLED测试仪和iCATLED自动化测试仪。FeasaLED测试仪的长处是输出格式多,缺点是价格过高。iCATLED测试仪功能和Feasa相当,但价格优势明显,非常适合自动化测试的运用。3、工业摄像头:用工业摄像头对LED进行拍照,然后分析图像来判断LED的颜色及亮度。这种方式在一次测试非常多数量的LED时有优势,但同样有精确度不够等问题。
如何根据像素值 计算亮度
灰度图像色彩迁移是将一幅彩色图像的色彩信息传递给灰度图像,实现灰度图像的彩色化。在welsh算法的基础上,对welsh算法的权值公式及搜索策略进行了改进,提出了一种新的灰度图像色彩迁移的算法,在色彩迁移的效果上取得了一定的提高,效率上取得了显著的提升
用photoshop将图片某个部位的亮度降低怎么弄?
1、Photoshop打开图片。
2、Photoshop打开图片后,点击左侧工具栏中的套索工具。
3、点击套索工具后,把要降低亮度的区域框选,然后Shift+F6添加5个像素羽化值。
4、然后Ctrl+M调整曲线,往下拉就是降低亮度。
5、调整曲线后,就可以把框选的区域亮度降低了。
labview 图像处理 提取照片某给定坐标点的亮度信息
使用函数IMAQ ImageToArray.vi将整个图像转换为数组,这个函数需要你提前对图片类型进行区分,然后用坐标进行数组索引就OK了,这个函数好像只能针对灰度图。
附件是对彩色图像的操作。
python用PIL如何获得一张图片的亮度值
图像的亮度是指每一个点的亮度,如果比较两个图像的亮度的话可能就要计算所有点的亮度平均值,下面是计算某个点的亮度值的程序,仅供参考。
import Image
im=Image.open("d:/lena.jpg")
print im.mode #查看图像的模式
im1=im.convert("YCbCr") #转换图像的模式到视频模式
y,cb,cr=im1.getpixel((10,10)) #提取点(10,10)位置的亮度、蓝色分量、红色分量的值。
print y #输出亮度值
后面两步循环就可以计算整个图像的亮度平均值。