openCv--裁剪图像不规则区域
来源:互联网 发布:矢量图标js下载 编辑:程序博客网 时间:2024/05/29 16:31
得到图像中感兴趣的不规则的区域分为三步,分别如下:
1.在原图上用cvLine画出自己感兴趣的区域,比如这个区域可以有几个线段围起来,就用cvLine将所有的线段连起来
cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness CV_DEFAULT(1), int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) );
例子:
IplImage ipl_img;cvLine(&ipl_img, cvPoint(2 * vertics(i, 0), 2 * vertics(i, 1)), cvPoint(2 * vertics(i + 1, 0), 2 * vertics(i + 1, 1)), CV_RGB(111, 12, 200), 2, 8, 1);
2.创建一张和原图同样大小的全黑图像,画上跟第一步同样的线,再把区域内全置为白色。
在纯黑图像上划线:
Mat image0 = imread("D:/imagewarping/imageset/10.jpg", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);IplImage *face = cvLoadImage("D:/imagewarping/imageset/10_.jpg");Mat M_mask = image0.clone();IplImage mask_img = M_mask;cvZero(&mask_img);cvLine(&mask_img, cvPoint(vertics(i, 0),vertics(i, 1)), cvPoint(vertics(i + 1, 0), vertics(i + 1, 1)), CV_RGB(255, 255, 255), 2, 8, 1);
把区域内置成白色,其中cvPoint是区域内的点即可,CV_RGB是白色即可:
cvFloodFill(&mask_img,cvPoint(75,75),CV_RGB(255, 255, 255),cvScalar(20, 30, 40, 0),cvScalar(20, 30, 40, 0),NULL,4,NULL);
3.前两步的结果做与运算
cvAnd(&ipl_img,&mask_img,&ipl_img);即可得到感兴趣的不规则区域。
原图如下:
处理后的图片:
0 0
- openCv--裁剪图像不规则区域
- 图像不规则区域拷贝
- java版利用opencv根据RotateRect裁剪图像区域算法
- iOS裁剪UIImage部分不规则区域
- opencv图像裁剪
- [原]opencv图像裁剪
- opencv 图像融合裁剪
- 对图像的不规则区域设置ROI
- 利用OpenCV设定不规则ROI区域
- VC不规则窗口实现—位图区域裁剪
- ps如何裁剪掉图片的不规则区域
- OpenCV截取图像的任意形状区域,规则的图形(圆、椭圆、矩形),不规则鼠标自己选择
- 裁剪图像中感兴趣区域python
- ENVI5.2裁剪遥感图像指定区域
- 图像处理之ROI区域裁剪
- OpenCV图像区域复制粘贴
- OpenCV图像区域复制粘贴
- OpenCV ROI区域图像叠加
- Hadoop集群(第6期)_WordCount运行详解
- Hadoop入门进阶课程7--Pig介绍、安装与应用案例
- 经典算法题每日演练——第三题 猴子吃桃
- Oracle到SAP HANA实时复制系列(一):初识SRS
- mac本地grunt提示:Fatal error: Unable to find local grunt.
- openCv--裁剪图像不规则区域
- iOS去除数组的相同元素
- icon 图标与名称 LaunchImage
- 经典算法题每日演练——第四题 最长公共子序列
- eclipse中git分支创建与合并(-)
- discuz论坛会员发帖数在个人资料不显示
- 经典算法题每日演练——第五题 字符串相似度
- 10163 - Storage Keepers(DP)
- viewController中方法执行的时机