入门OpenCV--图像的二值化
来源:互联网 发布:淘宝买家内衣秀大尺度 编辑:程序博客网 时间:2024/06/05 15:25
#include <opencv2/opencv.hpp>
using namespace std;const char *binaryWindowsName = "二值图";//const double S = 50;//const double b = 5;//double f = 0.0;//double f2 = 0.0;IplImage *srcImage = NULL;IplImage *grayImage = NULL;IplImage *binaryImage = NULL;int main(){CvCapture *cap = cvCreateCameraCapture(0);if(!cap){cerr<<"Error!"<<endl;exit(-1);}IplImage *tempImage = cvQueryFrame(cap);CvSize size = cvSize((int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAME_WIDTH),(int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAME_HEIGHT));srcImage = cvCreateImage(size, IPL_DEPTH_8U, 3);cvNamedWindow(binaryWindowsName, CV_WINDOW_AUTOSIZE);while((tempImage = cvQueryFrame(cap)) != NULL){cvCopy(tempImage, srcImage);if(srcImage->origin == IPL_ORIGIN_TL)cvFlip(srcImage, srcImage);grayImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 1);cvCvtColor(srcImage, grayImage, CV_BGR2GRAY);binaryImage = cvCreateImage(cvGetSize(grayImage), IPL_DEPTH_8U, 1);cvThreshold(grayImage, binaryImage, 250, 255, CV_THRESH_BINARY);cvShowImage(binaryWindowsName, binaryImage);char c = cvWaitKey(44);if(c == 27) break;}cvReleaseImage(&srcImage);cvReleaseImage(&grayImage);cvDestroyWindow(binaryWindowsName);return 0;}
图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。
将256个亮度等级的灰度图像通过适当的阈值(threshold)选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。
所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。
- 入门OpenCV--图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- opencv入门学习之四: 灰度图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- 【OpenCV入门指南】第四篇 图像的二值化
- OpenCV入门:显示图像
- Opencv入门(显示图像)
- opencv-图像入门
- [Learning OpenCV入门 3]OpenCV的图像变换
- EXCEL VBA获取IP
- odbc数据源的意义
- C++中的深拷贝和浅拷贝
- [php]提供可全局访问的数据
- Windows上使用Eclipse远程连接Hadoop进行程序开发
- 入门OpenCV--图像的二值化
- Linux基本操作 7----- vi操作的详细信息
- C++实践之路----容器的综合运用
- Validating dates(htm5关于日期的验证),有趣中学习!
- PDA开发经验小结
- 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)的比较
- java内存管理
- spring 动态数据源切换
- HDU 4302 Holedox Eating (二分+树状数组维护)