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

来源:百度知道 编辑:UC知道 时间:2024/07/05 08:24:05
我的图片是一个孔隙材料,要计算孔隙率,也就是要数出黑象素点和白象素点的个数.我没学过这种软件,请高手指教,谢谢!
求具体操作过程,好多术语我不懂的.

图像本身就是矩阵,哈哈,你用photoshop把它保存成raw格式的,就完全是个矩阵了,然后根据它的格式把黑的转换为0,把白的转换为1。如果保存成bmp的,那图像数据和文件头之间有一定的偏移,但这个偏移也是固定的,图像的数据部分是个纯粹的矩阵。用特定类型的图像格式来做,其他的什么都不需要,会自己读写文件就可以了,而且文件都是没有格式的。

上网找个能打开DIB图像的类,打开图像后,对像素数据进行处理.
因为是2值图像,所以1个字节里存放了8个像素的值,比较笨的方法就是将该字节分别与0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01求位与,以此来判断对应位上是否为1.
还有个办法就是事先建个长度为256的查找表,分别表示0-255的二进制数有几个1.(好像1表示白色)

参考matlab的imread函数,imhist直方图函数等

或者我这有自己写的VB版,读,写,转灰度,二值,灰度统计,其他的正在写