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

我的图片是一个孔隙材料,要计算孔隙率,也就是要数出黑象素点和白象素点的个数.我没学过这种软件,请高手指教,谢谢!
求具体操作过程,好多术语我不懂的.

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

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

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

matlab 二值图像fig如何转化成矩阵
matlab中无论何种格式,只要是支持的图像数据 一律用imread(fig),读取之后的数据你可以保存在一个变量中,该变量就是矩阵了,你想怎么操作都可以 例如:>>myPic = imread('c:\\1.jpg');

matlab将图像转化为矩阵怎么操作?
用matlab将图像转化为矩阵的方法 1、a=imread('1.jpg');2、图像imread后,a已经是矩阵了(彩色的3维,灰度2维);3、matlab操作数据以矩阵为基础,也就是计算都是矩阵啦。matlab的作用 它可以用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。我曾经用它做运筹学方面的...

用MATLAB怎样将二值化图像变成矩阵图像
如果是要用0和1表示的话,可以使用dec2bin dec2bin('一个十进制数'):将十进制数转化为二进制

用matlab如何将图片还原成为矩阵?
char * WINAPI icePub_getBufferFromImg2(char *strImgFilename,int *width,int *height,int huiGrade)输入:strImgFilename 图片文件名 huiGrade 图像灰度化标志,0 no; >1 and <=256 灰度级 输出:width 图像宽度 height 图像高度 返回值:图像的点阵数据(按照24位BMP格式)原型:int WINAPI ...

如何运用matlab对数据转化为矩阵?
在 MATLAB 中,将数据转化为矩阵是数据分析与编程的关键步骤之一。了解如何在 MATLAB 中实现这一过程对于数据科学和工程应用至关重要。首先,要定义一个矩阵,可以像这样操作:a = [1,2,3;4,5,6]在这个例子中,我们创建了一个包含两行三列的矩阵 a。第一行包含数字 1、2 和 3,第二行包含...

帮帮忙!!谁会用matlab把这张二值图像中的连通区域分别用最小外接矩 ...
1) 使用`imread`函数读取图片。2) 设定二值化标准,将像素值大于0.5的点视为白色(1),小于0.5的点视为黑色(0),并将图片转换为二值图像矩阵。3) 逐行扫描图像矩阵,当发现某行存在白色像素(1)时,记录该行;继续扫描,直到遇到全黑色行(没有1)时,记录该行。4) 逐列扫描图像矩阵,...

怎样在MATLAB中将图片转换成数字图像,怎样保存和处理
imread 将图片文件用matlab读入 ,转换为数字图象 调用函数 imread A=imread(FILENAME ,FORMAT)FILENAME为文件名,FORMAT为格式 如A=imread(‘lana.bmp’ ,'bmp')得到A为灰度值矩阵。若图像为真彩色图,则为3维矩阵。

对于一幅二值化图像,如何用matlab程序找到图像中最左边、最右边、最...
抖动功能,通过抖动来达到目的,转换后的图像。语法::BW =抖动(I)。图像的图像矩阵数据,BW是二值化图像矩阵 im2bw功能通过阈值测定方法的灰度值来达到目的。语法:BinaryImage im2bw(图片,[等级])。图片是所述输入图像,等级的二值化程度值,这是一个值,该值在0-1之间的范围内的矩阵数据,BW...

把Matlab元胞数组转化成矩阵的操作步骤如何?
1、首先打开matlab,新建一个脚本,通过从数据库获取数据,data数据格式是元胞数组cell类型。2、然后使用cell2mat()函数将元胞数组转换成矩阵,可以先在命令行窗口help cell2mat查看函数的使用方法,需要注意的是使用cell2mat函数,cell中的数据类型必须一致。3、使用a=cell2mat(data);代码进行将data元胞数组...

相似回答
大家正在搜