资源简介
可以对一个文件夹下的一系列图的同一个区域进行抠图
代码片段和文件信息
#include “stdio.h“
#include “cv.h“
#include “highgui.h“
#include “cxcore.h“
#include
#include
#include
#include “opencv\cv.h“
#include
#include
;
using namespace std;
using namespace cv;
extern void MouseDraw(int eventint xint yint flagsvoid*param);
struct MouseArgs
{
IplImage* img;
CvPoint p_start;
CvPoint p_end;
CvSeq* seq;
CvMemStorage* storage;
int points;
// init
MouseArgs():img(0)points(0)
{
p_start = cvPoint(-1-1);
p_end = cvPoint(-1-1);
storage = cvCreateMemStorage(0);
seq = cvCreateSeq( CV_32SC2sizeof(CvSeq)sizeof(CvPoint) storage );
}
// destroy
void Destroy()
{
if(!img)
cvReleaseImage(&img);
cvReleaseMemStorage(&storage );
seq = NULL;
img = NULL;
}
};
IplImage* pScr;
IplImage* mask;
IplImage* roi ;
char file_img[100];
char file_dst[100];
int main( int argcchar** argv )
{
string dir_path = “E:/test/“;
Directory dir;
vector fileNames = dir.GetListFiles(dir_path “*.jpg“ false);
string fileName = fileNames[0];
string fileFullName = dir_path + fileName;
IplImage* pImg_org= cvLoadImage(fileFullName.c_str()1);
//IplImage* pImg_org = cvLoadImage(“1.jpg“);
if(!pImg_org)
{
cout<<“cann‘t load image!“< return-1;
}
// 回调参数
MouseArgs* m_arg =new MouseArgs();
m_arg->img = cvCloneImage(pImg_org);
// 画图窗口
cvNamedWindow(“Draw ROI“CV_WINDOW_AUTOSIZE);
// 设置鼠标事件的回调函数
cvSetMouseCallback(“Draw ROI“MouseDraw(void*)m_arg);
// 拖动鼠标作画
while(1)
{ cvShowImage(“Draw ROI“m_arg->img);
// 按 esc 键退出绘图模式,获得矩形
if(cvWaitKey(100)==27)
break;
}
if(m_arg->points < 1)
return 0;
//cout<points <
CvPoint* PointArr =new CvPoint[m_arg->points];//申请动态内存
cvCvtSeqToArray(m_arg->seq PointArr);
mask = cvCreateImage( cvGetSize(pImg_org) 8 1 );
cvZero(mask);
cvFillConvexPoly(maskPointArrm_arg->pointscvScalarAll(255)CV_AA0);
roi = cvCreateImage( cvGetSize(pImg_org) 8 3 );
//string dir_path = “E:/test/“;
//Directory dir;
//vector fileNames = dir.GetListFiles(dir_path “*.jpg“ false);
for(unsigned int i=0;i {
string fileName = fileNames[i];
string fileFullName = dir_path + fileName;
pScr = cvLoadImage(fileFullName.c_str()1);
if(!pScr)
{
break;
}
cvCopy(pScrroimask);
cvNamedWindow(“ROI“CV_WINDOW_AUTOSIZE);
cvShowImage(“ROI“roi);
sprintf(file_dst “E:\\result\\\%d.jpg“ i+1);//保存图片
cvSaveImage(file_dst roi);
char c = cvWaitKey(2500);
if (c == 27)
{
break;
}
}
cvWaitKey(0);
cvDestroyAllWindows();
cvR
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-03-22 13:38 抠图代码\
文件 103 2015-03-22 13:40 抠图代码\readme.txt
目录 0 2015-03-22 13:37 抠图代码\result\
文件 32462 2015-03-22 13:36 抠图代码\result\0.jpg
文件 28882 2015-03-22 13:36 抠图代码\result\1.jpg
文件 23038 2015-03-22 13:36 抠图代码\result\10.jpg
文件 26081 2015-03-22 13:36 抠图代码\result\2.jpg
文件 22421 2015-03-22 13:36 抠图代码\result\3.jpg
文件 24459 2015-03-22 13:36 抠图代码\result\4.jpg
文件 25126 2015-03-22 13:36 抠图代码\result\5.jpg
文件 26626 2015-03-22 13:36 抠图代码\result\6.jpg
文件 26316 2015-03-22 13:36 抠图代码\result\7.jpg
文件 25280 2015-03-22 13:36 抠图代码\result\8.jpg
文件 23441 2015-03-22 13:36 抠图代码\result\9.jpg
目录 0 2015-03-22 13:37 抠图代码\test\
文件 25600 2014-01-14 17:08 抠图代码\test\JC-C-130913104500-A-15950460036.jpg
文件 32768 2014-01-14 15:36 抠图代码\test\JC-C-131014104500-A-15950460036.jpg
文件 21504 2014-01-14 15:34 抠图代码\test\JC-C-131015104500-A-15950460036.jpg
文件 24576 2014-01-14 15:34 抠图代码\test\JC-C-131015162417-A-15950460036.jpg
文件 21504 2014-01-14 15:34 抠图代码\test\JC-C-131016160226-A-15950460036.jpg
文件 20480 2014-01-14 15:34 抠图代码\test\JC-C-131017104500-A-15950460036.jpg
文件 23552 2014-01-14 15:34 抠图代码\test\JC-C-131017160219-A-15950460036.jpg
文件 31744 2014-01-14 15:34 抠图代码\test\JC-C-131018104500-A-15950460036.jpg
文件 22528 2014-01-14 15:34 抠图代码\test\JC-C-131018160228-A-15950460036.jpg
文件 19456 2014-01-14 15:34 抠图代码\test\JC-C-131020160217-A-15950460036.jpg
文件 26624 2014-01-14 15:34 抠图代码\test\JC-E-131016143613-A-15950460036.jpg
目录 0 2015-03-23 20:43 抠图代码\程序\
目录 0 2015-03-23 17:35 抠图代码\程序\Debug\
文件 58368 2015-03-23 20:42 抠图代码\程序\Debug\test.exe
文件 406 2015-03-21 20:45 抠图代码\程序\Debug\test.exe.manifest
文件 592316 2015-03-23 20:42 抠图代码\程序\Debug\test.ilk
............此处省略53个文件信息
- 上一篇:电子科大随机过程往年考试题
- 下一篇:IDL可视化工具入门与提高
相关资源
- 设计模式之禅高清PDF+源代码
- 基于stm32led可调光设计原理图+keil代码
- 免费的基于LUCENE的搜索引擎的设计与
- Linux设备驱动开发详解:基于最新的
- OPENGL 水波效果 源代码
- 重构改善代码设计_2nd_Edition
- 王者荣耀官网web端代码
- VisualBasic.NET实用编程百例+源代码非常
- CRM系统-客户关系管理数据系统原型
- 第一行代码 第二版 第二行代码-源码
- SD_spi+FAT16工程和代码
- VisualSFM代码
- 运筹学算法与编程实践 Delphi实现 p
- Linux内核2.4版源代码分析大全李善平老
- 学生成绩管理系统源代码+详细设计文
- CT117E蓝嵌入式资源,各个模块代码,
- 航空公司客户价值分析
- L1最小化的视觉跟踪 论文 代码详细解
- 自适应滤波器原理-Simon Haykin 包括所有
- 浅墨的opencv学习代码,有注释,前十
- 《剑指offer》第二版 高清PDF+代码附赠
- 100+个安卓应用程序开发工程代码.ra
- hands-on machine learning with scikit-learn an
- 物流app源代码司机
- 黑金FPGA开发板的AD_DA模块Verilog代码和
- vue商城项目笔记+原代码
- 租车代码.zip
- lpc1114例程源代码
- Vue全家桶之Vuex代码
- 2019美赛C题论文中英文及参考代码.r
评论
共有 条评论