图像分割之(五)OpenCV的GrabCut调用
来源:互联网 发布:富士通扫描仪软件 编辑:程序博客网 时间:2024/05/01 00:00
在OpenCV的源码目录的samples的文件夹下,有grabCut的使用例程,请参考:
opencv\samples\cpp\grabcut.cpp。
在这里给出最简单的调用grabcut
#include <cv.h>#include <highgui.h>#pragma comment(lib,"cv210d.lib")#pragma comment(lib,"cxcore210d.lib")#pragma comment(lib,"highgui210d.lib")#include <iostream>using namespace std;using namespace cv;void MyShowImage(Mat Image,const string winName){imshow( winName, Image );}void getBinMask( const Mat& comMask, Mat& binMask ){ binMask.create( comMask.size(), CV_8UC1 ); binMask = comMask & 1;}int main( int argc, char** argv ){ Mat image = imread( "lena.jpg", 1 );const string winName = "image";MyShowImage(image,winName);/***********************************/Mat bg;Mat fg;Rect rect = Rect(47,48,408,464);Mat mask,res;mask.create( image.size(), CV_8UC1); grabCut( image, mask, rect, bg, fg, 1, 0 );Mat binMask;getBinMask( mask, binMask ); image.copyTo( res, binMask );MyShowImage(res,winName);/***********************************/cvWaitKey(0); return 0;}
运行结果:
原图:
分割结果:
- 图像分割之(五)OpenCV的GrabCut调用
- [OpenCV]图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- OpenCV(EmguCV)2.1新特性介绍之图像分割GrabCut(GrabCut Of OpenCV 2.1)
- OpenCV(EmguCV)2.1新特性介绍之图像分割GrabCut(GrabCut Of OpenCV 2.1)
- OpenCV(EmguCV)2.1新特性介绍之图像分割GrabCut
- opencv之GrabCut&FloodFill分割
- 学习OpenCV范例(二十二)—GrabCut图像分割
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
- 反思: 为什么我连普通的程序都写不好?
- 指针
- 苹果申请可触摸柔性屏幕专利:iWatch即将来临
- Emacs gdb 配置和使用
- 图像分割之(五)OpenCV的GrabCut调用
- Swing cardlayout wrong parent for CardLayout问题
- Hibernate 第五讲 数据库Id生成策略 (4)
- 我遇到的JAVA异常和解决方法
- 杭电ACM HDU 1031 Design T-Shirt
- iOS开发那些事-iOS常用设计模式–委托模式
- Hibernate 第五讲 数据库Id生成策略 (5)
- hdu1032水
- 算法--桶排序