范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

c语言opencv删除图片

  c语言opencv删除图片
  在进行图像处理的时候,经常要进行图像的剔除。下面我们学习一下opencv删除图像的函数。//int result = remove(img_path[i].c_str()); //绝对或者相对路径都可以  int result = remove("1.jpg"); //绝对或者相对路径都可以  if (result == 0)  cout << "delete succeeded!删除图片成功" << endl;  else  cout << "delete failed! 删除图片失败" << endl;具体应用示例
  为了方便大家理解如何使用,下面我举一个例子,在相机标定的时候进行图像不符合规范的自动删除#include "opencv2/core/core.hpp"     #include "opencv2/imgproc/imgproc.hpp"     #include "opencv2/calib3d/calib3d.hpp"     #include "opencv2/highgui/highgui.hpp"     #include      #include      #include   #include  //srand()和rand()函数  #include  using namespace cv; using namespace std;   #define  debug_show_picture        1 //是否显示部分调试图片,方便调试 #define  debug_save_shipin       0 //是否保存结果视频  /****************	     打印相关组件 start !	 ********************************************************************/  /*打印等级,修改后面的宏定义可以改变函数输出打印等级*/ #define ALG_PRTINT_LEVER PRINT_LEVEL_UNLIMIT  #define ALG_PRTINT(...)  SAL_printf(__VA_ARGS__) #define ALG_PRT(...)     ALG_PRTINT(__FUNCTION__, __LINE__, PRINT_LEVEL_UNLIMIT, __VA_ARGS__) #define ALG_DBG(...)     ALG_PRTINT(__FUNCTION__, __LINE__, PRINT_LEVEL_DBG,     __VA_ARGS__) #define ALG_WAR(...)     ALG_PRTINT(__FUNCTION__, __LINE__, PRINT_LEVEL_WRN,     __VA_ARGS__) #define ALG_ERR(...)     ALG_PRTINT(__FUNCTION__, __LINE__, PRINT_LEVEL_ERR,     __VA_ARGS__)  /*********************************************************************************************** * @enum     HAT_SAL_PRT_LEVEL_E * @brief    打印输出的等级 ***************************************************************************************************/ typedef enum _PRT_LEVEL_E_ { 	PRINT_LEVEL_ERR = 0,        /*错误打印信息*/ 	PRINT_LEVEL_WRN = 1,        /*警告打印信息*/ 	PRINT_LEVEL_DBG = 2,         /*调试打印信息*/ 	PRINT_LEVEL_UNLIMIT = 3,    /*无限制打印信息*/ 	PRINT_LEVEL_NOPRT = 4,      /*没有打印信息*/ } PRT_LEVEL_E;  /******************************************************************************* Function:	SAL_printf Description: 该函数能够通过设置的打印等级ALG_PRTINT_LEVER,来控制是否输出相关语句 Input: Output: Return: 0:			Successful ohters:		Failed *******************************************************************************/ void SAL_printf(const char *pFun, UINT line, PRT_LEVEL_E levelParam, const char *fmt, ...) { 	static INT8 g_printfInfo[4][16] = { "ERR", "WAR", "DBG", "INF" }; 	va_list p; 	if (ALG_PRTINT_LEVER == PRINT_LEVEL_NOPRT || levelParam == PRINT_LEVEL_NOPRT) 	{ 		return; 	} 	if (levelParam <= ALG_PRTINT_LEVER) 	{ 		va_start(p, fmt); 		printf("[ALG][%s][%s][%4d] ", g_printfInfo[levelParam], pFun, line); 		vprintf(fmt, p); 		va_end(p); 	} } /******************************  打印相关组件 end   *************************************************************************/  class Ve { public: 	vector ReadImage(cv::String pattern); };  vector Ve::ReadImage(cv::String pattern) { 	vector temp; 	vector fn; 	glob(pattern, fn, false); 	size_t count = fn.size(); //number of png files in images folder 	for (size_t i = 0; i < count; i++) 	{ 		temp.push_back(fn[i]); 	} 	return temp; }   void main() {  	ofstream fout("caliberation_result.txt");  /* 保存标定结果的文件 */ 	//读取每一幅图像,从中提取出角点,然后对角点进行亚像素精确化      	cout << "开始提取角点……………… "; 	int image_count = 0;  /* 图像数量 */ 	Size image_size;  /* 图像的尺寸 */ 	Size board_size = Size(8, 11);    /* 标定板上每行、列的角点数 */ 	vector image_points_buf;  /* 缓存每幅图像上检测到的角点 */ 	vector> image_points_seq; /* 保存检测到的所有角点 */  	int count = -1;//用于存储角点个数。     	//while (getline(fin, filename)) 	//{  	cv::String pattern = "./data/0223_2che/2che_huoche_video4/*.jpg"; 	Ve ve; 	vector img_path = ve.ReadImage(pattern);  	for (int i = 0; i < img_path.size(); i++) 	{ 		image_count++; 		// 用于观察检验输出     		//cout << "image_count = " << image_count << endl; 		/* 输出检验*/ 		//cout << "-->count = " << count << endl; 		Mat imageInput = imread(img_path[i]); 		if (imageInput.empty()) 		{ 			ALG_ERR("can not open pic,图片 %s 打开失败 ", img_path[i].c_str()); 			cout << "can not open pic! "; 			Sleep(100000);//睡眠一下,不至于窗口跳出 			exit(-1); 		} 		Mat imageInput_copy = imageInput.clone(); //校正后输出图片 		if (image_count == 1)  //读入第一张图片时获取图像宽高信息     		{ 			image_size.width = imageInput.cols; 			image_size.height = imageInput.rows; 			cout << "image_size.width = " << image_size.width << endl; 			cout << "image_size.height = " << image_size.height << endl; 		} 		//printf("输出结果:%s ", filename.c_str()); 		/* 提取角点 */ 		if (0 == findChessboardCorners(imageInput, board_size, image_points_buf)) 		{ 			cout << "can not find chessboard corners! "; //找不到角点 			ALG_ERR("图片: %s 找不到角点,请检查或者更换该图片 ", img_path[i].c_str()); 			int result = remove(img_path[i].c_str());  //绝对或者相对路径都可以 			if (result == 0) 				cout << "delete succeeded!删除图片成功" << endl; 			else 				cout << "delete failed! 删除图片失败" << endl;  			continue; 		} 		else 		{ 			ALG_PRT("正在提取图片%s的角点,image_count=%d ", img_path[i].c_str(), image_count); 			Mat view_gray; 			cvtColor(imageInput, view_gray, COLOR_RGB2GRAY); 			/* 亚像素精确化 */ 			find4QuadCornerSubpix(view_gray, image_points_buf, Size(5, 5)); //对粗提取的角点进行精确化     																			//cornerSubPix(view_gray,image_points_buf,Size(5,5),Size(-1,-1),TermCriteria(CV_TERMCRIT_EPS+CV_TERMCRIT_ITER,30,0.1));     			image_points_seq.push_back(image_points_buf);  //保存亚像素角点     														   /* 在图像上显示角点位置 */ 			drawChessboardCorners(view_gray, board_size, image_points_buf, false); //用于在图片中标记角点     			namedWindow("Camera Calibration", 0);//创建窗口 			imshow("Camera Calibration", view_gray);//显示图片     			waitKey(5);//暂停0.5S   					   //这种初始化点的方式也可以  			for (int i = 0; i < image_points_buf.size(); i++) 			{ 				Point p2; 				p2.x = image_points_buf[i].x; 				p2.y = image_points_buf[i].y; 				//画实心点 				circle(imageInput_copy, p2, 8, Scalar(0, 0, 255), -1); //第五个参数我设为-1,表明这是个实点。  			} 			namedWindow("imageInput_copy", 0);//创建窗口 			imshow("imageInput_copy", imageInput_copy);//显示图片     			waitKey(5);//暂停0.5S   		} 	} 	ALG_PRT("所有图片检查完毕 "); 	waitKey(5000000000000);//暂停0.5S  }

你能忍受的最长手机充电时间是多长?是两个小时因电池板暴费了充电续度漫只能等待。我忍受最长手机充电时间是。腄觉自然醒了。四五个小时是正常。现代化建设中国特色社会主义国家高质量。高科技产品华为手机非常安全保质保量。靓妹住友化学研发出智能手机屏幕内嵌入式透明5G天线技术CINNOResearch产业资讯,住友化学研发出智能手机显示屏内嵌入式透明5G天线技术。并将制成透明天线的薄膜作为显示屏组件进行供货。该技术通过接收从手机正面到达的无线电波,从而威联通TS551搭配东芝NAS硬盘MN系列搭建家庭媒体中心体验分享创作声明原创分享,拒绝搬运转载前言大家好,我是Karl,一个电脑数码爱好者,喜欢打游戏按快门看小姐姐,喜欢看文档写文档和分享。作为一个数码爱好者,我在役的有一个台式机两个笔记本一个小米平板5pro的简单上手体验我前几天就去实体店体验过小米平板5pro,趁周末有空就写一篇个人体验。因为不是专业人士,写得不好,只给想买的网友们做个参考。第一感觉边框稍宽,手感质感还不错。我上手体验了一下系统还亚马逊封号潮后清库存广告扎堆朋友圈,大卖低价清仓图片来源图虫创意编者按今年4月开始,亚马逊掀起一场旷日持久的封号潮,截至目前为止,已有超5万卖家受影响。在外界普遍看好跨境出口电商,大量线下实体品牌外贸工厂淘系品牌涌入的同时,曾经想给男朋友买一个笔记本电脑,我也不是很懂,大家有什么推荐嘛?选择笔记本电脑首先要确定使用需求和预算,有需求和预算才好推荐哦。一选购笔记本电脑常见问题1,品牌选择在品牌售后方面,联想惠普戴尔华硕等老牌电脑品牌会更具优势。神舟主打性价比,在售后外星生命不一定是人,而可能是高等智慧生物,你怎么看?外星生命不一定是人,这是肯定正确的,人只是地球上才有的生物类型,因为人是根据地球大气环境主要构成成分引力场等环境因素形成的,人适合地球上生存。外星生命可能是高等智慧生物,也可能是低投诉数据告诉你,大数据杀熟有哪些套路?来源读特人工智能正像电力一般赋能各个产业,深刻地改变人类社会。中国正处于全球人工智能发展第三次浪潮的时代潮头,算法周刊将聚焦人工智能上海高地和中国新基建,并持续关注全球AI最前沿。他高中毕业,从快递员变成老板,拿5亿开公司,却因为5毛钱被痛骂2016年4月,一名顺丰快递员在北京富贵园和往常一样骑着三轮车来来回回送快递,结果不小心和小区内一辆现代轿车剐上了。车主气愤地从车上冲下来,不由分说对着顺丰小哥又骂又打,前前后后扇马斯克狗狗币是在支付方面最强的加密货币8月14日,特斯拉CEO埃隆马斯克再次强调,狗狗币以比其他加密货币更好的方式实现了支付手段的属性。他在推特中对同为亿万富翁的MarkCuban的观点表示赞同。Cuban最近在接受C定位SUV,但酷似MPV,空间还超大,10。46万起售,AIONY如何?全民说车汽车内容创作季说到广汽埃安,作为广汽新能源旗下的独立品牌,旗下的产品定位也是主打家用车系列。埃安自从独立出来之后,它的势头也是一直不错,在销量榜单上也常能见到其产品的身影,
2月5号从葫芦岛兴城返回沈阳,码怎么变黄了?谈谈为什么2月5号从葫芦岛兴城返回沈阳,健康码变为黄码了,有以下几点原因近几年疫情蔓延,我们国家实行出行凭健康码出行,绿码通行黄码需要做核酸检测红码直接隔离检测。2月号从葫芦岛兴城WiFi7有多快?1分钟居然能下300部片最近机哥遇到一件小事,还挺让人感慨的。就是八弟突然要借数据线,机哥在抽屉里找了半天,别说数据线了,连耳机线也没有。回想了一下,才意识到,我们正在跟各种线告别。原因当然不是因为环保,iPad的手势教学来啦这就是年味儿IPad手势小技巧大全C,真的写全了吟天在上一篇文章基础之。上我又总结了临键盘快捷手势ApplePencil技巧的所有技基本上都已经写全了。果粉们可以收藏慢慢学习我没想个人收款码更换为特约商户收款码,将是一个重大的变革年前中国人民银行关于加强支付受理终端及相关业务管理的通知(以下简称新规)正式发布了,3月1日之后微信支付宝的个人收款码不能用于经营,不能商用。央行此次出台相关要求,为了加强行业管理centos7。3离线安装telnet用于升级openssh一检查系统有没有安装过telnet包rpmqagreptelnetrpmqagreptelnetserverrpmqagrepxinetd二卸载已安装的rpm包(包名参考上一条命令第四十六天二叉树,Linux学习笔记1。文件默认不能建立为执行文件,需手工赋予执行权限2。umask查看默认权限3。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用2。SpringBootActuator监控1。快速开始dependencygroupIdorg。springframework。bootgroupIdspringbootstarteractuatorartifactIdd台积电1月份营收延续强势增长,中兴将采用其7nm工艺制造5G基站在去年12月份,台积电(TSMC)营收就有非常强劲的增长,收入达到了1550亿新台币(约357亿人民币56亿美元),成为其2021年里增长和收入最高的一个月份,环比增长4。8,同比有什么唯美动漫壁纸可以推荐吗?哈喽,大家好,我是补番少女。好久没有给大家分享动漫壁纸啦,小编又收集了很多好看的壁纸哦,正好这次就分享给亲爱滴小伙伴们,望你们喜欢哦沉睡在云彩上面的长发少女,伴随着星星,月亮的沐浴Mycat进阶一Mycat配置详解1Mycat支持的两种配置方式Mycat从1。5版本开始支持两种配置方式ZooKeeper及本地XML方式。Mycat默认以本地加载XML的方式启动,如果需要配2021年老编自己掏钱买了啥相机?明确回答奥林巴斯EM1X前几天看了春卷老师的文章,他们编辑各自买了哪些摄影器材逐一给大家做了汇报。我也照搬这个模式回应一下读者朋友的好奇心。除了10月份逆势买了一台适马sdQuattro之外,其实我一直没