1.matlab计算图片二值化后像素点数目
直接求的直方图即可。
clear;
close all;
img = imread('test.bmp');
/*
测试过程中发现cvSaveImage保存成jpg二值化后的文件,好像不彻底,估计压缩算法影响的。使用bmp后,查看就0,255.
*/
hist = imhist(img);
[row, col] = find(hist>0);
hist(row);//知道每个灰度的数量了。
2.使用MFC显示灰度图片简单方法。
IplImage * img = cvLoadImage("lv.jpg");
IplImage *img_gray = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U,1);
IplImage *img_temp = cvCloneImage(img);
cvCvtColor(img, img_gray, CV_RGB2GRAY);
cvMerge(img_gray, img_gray, img_gray, NULL, img_temp);
//直接使用用img_temp转成BITMAPINFO显示吧。
效果如下
RGB图如下: