opencv-hbitmap在内存中直接转jgp格式-bmp转jpg IplImage* CMainFrame::Bitmap2IplImage(HANDLE hBitmap) { BITMAP bmp; // 得到位图对象 int nPicSize; nPicSize = sizeof(BITMAP); GetObject(hBitmap, sizeof(BITMAP), &bmp); int depth,nChannels; if(bmp.bmBitsPixel == 1)//得到图像深度和通道数 { depth=IPL_DEPTH_1U; nChannels=1; } else { de
Read more分类: 机器视觉&OPENCV
opencv-hbitmap在内存中直接转jgp格式-bmp转jpg
opencv 如何捕捉异常
opencv 如何捕捉异常 try{ //故意出错 } catch(cv::Exception& e ) { const char * s_ERROR=e.what(); AfxMessageBox(s_ERROR); }
Read more
opencv 如何捕捉异常 try{ //故意出错 } catch(cv::Exception& e ) { const char * s_ERROR=e.what(); AfxMessageBox(s_ERROR); }
Read moreopencv实现图片叠加透明度-尽管opencv不支持阿尔法通道
因为opencv不支持阿尔法通道(也有的说最新版本的其实是支持了的,在此我不做肯定),但要是两张图片去叠加的话,其实还是可以简单实现透明叠加的,这也是制作水印图片的方法。 比如,我们把图片B叠加到图片A上.透明的实际效果就是既能看到A的内容,又能看到B的内容. 终值 = Va*(1-rank/10)+Vb*(rank/10) ///下边是关键代码,有注释 //先说一下,pimg是大图(也可以理解为背景图),watermarkpic是水印图片(你的水印logo,或者文字),是IplImage格式指针 //注意数组的越界问题,水印图片要比pimg的小才行的。如果大了,就缩小一下就可以了 //把水印
Read more
因为opencv不支持阿尔法通道(也有的说最新版本的其实是支持了的,在此我不做肯定),但要是两张图片去叠加的话,其实还是可以简单实现透明叠加的,这也是制作水印图片的方法。 比如,我们把图片B叠加到图片A上.透明的实际效果就是既能看到A的内容,又能看到B的内容. 终值 = Va*(1-rank/10)+Vb*(rank/10) ///下边是关键代码,有注释 //先说一下,pimg是大图(也可以理解为背景图),watermarkpic是水印图片(你的水印logo,或者文字),是IplImage格式指针 //注意数组的越界问题,水印图片要比pimg的小才行的。如果大了,就缩小一下就可以了 //把水印
Read moreopencv-膨胀算法cvDilate
先上定义: Dilate 使用任意结构元素膨胀图像 void cvDilate( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 ); src 输入图像. dst 输出图像. element 用于膨胀的结构元素。若为 NULL, 则使用 3×3 长方形的结构元素 iterations 膨胀的次数 函数 cvDilate 对输入图像使用指定的结构元进行膨胀,该结构决定每个具有最小值象素点的邻域形状: dst=dilate(src,element): dst(x,y)=max((x’,y’) i
Read more
先上定义: Dilate 使用任意结构元素膨胀图像 void cvDilate( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 ); src 输入图像. dst 输出图像. element 用于膨胀的结构元素。若为 NULL, 则使用 3×3 长方形的结构元素 iterations 膨胀的次数 函数 cvDilate 对输入图像使用指定的结构元进行膨胀,该结构决定每个具有最小值象素点的邻域形状: dst=dilate(src,element): dst(x,y)=max((x’,y’) i
Read more如何在vs2010中加载opencv2.4.4库-VC++
1.单击 项目 ,-〉你的工程名+属性-〉配置属性-〉VC++目录 在右侧显示的 常规中包含目录中 添加:你的opencv安装目录 \opencv2.4.4\opencv\build\include,你的opencv安装目录 \opencv2.4.4\opencv\build\include\opencv,你的opencv安装目录 \opencv2.4.4\opencv\build\include\opencv2,这三项 在库目录中添加 : 你的opencv安装目录opencv2.4.4\opencv\build\x86\vc10\lib 2在链接器-〉输入,右侧 附加依赖项 添加如下: op
Read more
1.单击 项目 ,-〉你的工程名+属性-〉配置属性-〉VC++目录 在右侧显示的 常规中包含目录中 添加:你的opencv安装目录 \opencv2.4.4\opencv\build\include,你的opencv安装目录 \opencv2.4.4\opencv\build\include\opencv,你的opencv安装目录 \opencv2.4.4\opencv\build\include\opencv2,这三项 在库目录中添加 : 你的opencv安装目录opencv2.4.4\opencv\build\x86\vc10\lib 2在链接器-〉输入,右侧 附加依赖项 添加如下: op
Read moreopencv – cvHoughCircles找圆例子
先来看opencv函数 cvHoughCircles 的说明: 函数:CvSeq *cvHoughCircles(CvArr *image,void *circle_storage,int method,double dp,double min_dist,double param1,double param2,int min_radius,int max_radius) 下边是参数说明: image:输入8bit(灰度)图像,其内容可被函数所改变 circle_storage:检测到的圆存储仓,可以是内存存储仓 (此种情况下,一个线段序列在存储仓中被创建,并且由函数返回)或者是包含圆参数的特殊
Read more
先来看opencv函数 cvHoughCircles 的说明: 函数:CvSeq *cvHoughCircles(CvArr *image,void *circle_storage,int method,double dp,double min_dist,double param1,double param2,int min_radius,int max_radius) 下边是参数说明: image:输入8bit(灰度)图像,其内容可被函数所改变 circle_storage:检测到的圆存储仓,可以是内存存储仓 (此种情况下,一个线段序列在存储仓中被创建,并且由函数返回)或者是包含圆参数的特殊
Read moreopencv之边缘检测
opencv之边缘检测 // 边缘检测-canddy.cpp : 定义控制台应用程序的入口点。 // #include “stdafx.h” /************************************************** * C++ Canny:Canny边缘检测 **************************************************/ /**************************************************************
Read more
opencv之边缘检测 // 边缘检测-canddy.cpp : 定义控制台应用程序的入口点。 // #include “stdafx.h” /************************************************** * C++ Canny:Canny边缘检测 **************************************************/ /**************************************************************
Read moreopencv之roi示例
以后争取每天实验一个opencv代码吧,这样以后就可以直接复制这些代码了 opencv之roi示例 IplImage * test; test = cvLoadImage(“2.jpg”); cvNamedWindow(“哈哈”,CV_WINDOW_AUTOSIZE ); cvShowImage(“哈哈”,test); //设置一下感兴趣区域,并且显示出来roi cvSetImageROI(test,(cvRect)(1,1,200,200)); cvNamedWindow(“ROI”,CV_WIN
Read more
以后争取每天实验一个opencv代码吧,这样以后就可以直接复制这些代码了 opencv之roi示例 IplImage * test; test = cvLoadImage(“2.jpg”); cvNamedWindow(“哈哈”,CV_WINDOW_AUTOSIZE ); cvShowImage(“哈哈”,test); //设置一下感兴趣区域,并且显示出来roi cvSetImageROI(test,(cvRect)(1,1,200,200)); cvNamedWindow(“ROI”,CV_WIN
Read more