如何将二值图象转化为数据矩阵,运用MATLAB或者VC?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将二值图象转化为数据矩阵,运用MATLAB或者VC?相关的知识,希望对你有一定的参考价值。

图像本身就是矩阵,哈哈,你用photoshop把它保存成raw格式的,就完全是个矩阵了,然后根据它的格式把黑的转换为0,把白的转换为1。如果保存成bmp的,那图像数据和文件头之间有一定的偏移,但这个偏移也是固定的,图像的数据部分是个纯粹的矩阵。用特定类型的图像格式来做,其他的什么都不需要,会自己读写文件就可以了,而且文件都是没有格式的。 参考技术A 上网找个能打开DIB图像的类,打开图像后,对像素数据进行处理.
因为是2值图像,所以1个字节里存放了8个像素的值,比较笨的方法就是将该字节分别与0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01求位与,以此来判断对应位上是否为1.
还有个办法就是事先建个长度为256的查找表,分别表示0-255的二进制数有几个1.(好像1表示白色)
参考技术B 参考matlab的imread函数,imhist直方图函数等
或者我这有自己写的VB版,读,写,转灰度,二值,灰度统计,其他的正在写

如何在matlab程序中实现二值图像转化成灰度图像?

在编程序的过程中中二值图像【0 1】怎么转化成【0 255】?

灰度图像的值在0到1之间,转换过去在imshow即可显示,保存用imwrite。
举个例子,矩阵是A,则:在matlab里输入
imwrite((A+1)/2,\'a.bmp\')
即可
而本题中,为 img,则转化方法为:
img=img.*255
这样就将img中每个像素由[0,1]的区间转化为[0,255]区间地灰度图像了
参考技术A 例如:你的图像数组是img,则转化方法为:
img=img.*255
这样就将img中每个像素由[0,1]的区间转化为[0,255]区间地灰度图像了。

以上是关于如何将二值图象转化为数据矩阵,运用MATLAB或者VC?的主要内容,如果未能解决你的问题,请参考以下文章

matlab中将灰度图转化为二值图后,有如何转化为灰度图

如何在matlab程序中实现二值图像转化成灰度图像?

利用python将二值csv格式转换为矩阵

VC6.0里面运用openCV将灰度图像转换成矩阵,报错。需要如何解决。设置堆栈? 程序如下:

请教高手!急!!! 请问如何将matlab中的矩阵数据转化为点云数据?

在matlab中如何将灰度图像转化成二值图像??如何再转化回去?