CImage m_image;//m_image就是要处理的图像
int bit=m_ImageGetBPP();//获取每点像素的位数(8,24,32等),如果只处理24位图,则bit可直接赋值为24
int width=m_ImageGetWidth();//图像的宽度(单位为像素)
int height=m_ImageGetHeight();//图像的长度(单位为像素)
HBITMAP bitmap = m_ImageDetach();//
CBitmap b_Image=CBitmap::FromHandle(bitmap);//获取CBitmap类的实例
DWORD totalbytes=widthheightbit/8;//要保存像素数据需要的总的字节数,24位图的话,每个像素需要3个字节
byte lpBits=new byte[totalbytes];//字节型数组,每个单位存一个字节的数据
int bytes=b_Image->GetBitmapBits(totalbytes,lpBits);//把像素数据存到数组lpBits里,通过看bytes是否为0可以知道是否成功,为0则没有成功
//接下来遍历数组即可获取像素数据,因为24位图是3个字节构成一个像素,所以遍历时要注意间隔。
imread就可以读入图像
坐标就是x,y的值除以分辨率
图像在matlab里就是一个矩阵
用行列号找就可以
比如图像A左上角坐标为(0,0),其坐标(100,100)的点的像素为A(101,101)
以上就是关于用C或C++怎样提取出bmp图像的像素点信息值用LSB算法做信息隐藏,位图是24位的。全部的内容,包括:用C或C++怎样提取出bmp图像的像素点信息值用LSB算法做信息隐藏,位图是24位的。、请教用DCMTK如何获得图像的像素值、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)