opencv在VS2010命令行编译过程
2024-10-18 23:35:25
最近这两天一直在研究命令行参数的编译,现代吗如下:
#include <highgui.h>
#include <math.h>
#include <cv.h> IplImage *Igray = 0, *It = 0, *Iat; int main( int argc, char** argv )
{
//输入命令行
double threshold = (double)atof( argv[1] ); //convert string to double
int threshold_type = atoi( argv[2] ) ? CV_THRESH_BINARY : CV_THRESH_BINARY_INV;
int adaptive_method = atoi( argv[3] ) ? CV_ADAPTIVE_THRESH_MEAN_C : CV_ADAPTIVE_THRESH_GAUSSIAN_C;
int block_size = atoi( argv[4] );
double offset = (double)atof( argv[5] );
//加载灰度图
if( ( Igray = cvLoadImage( argv[6], CV_LOAD_IMAGE_GRAYSCALE ) ) == 0 )
{
return -1;
}
//创建同样大小8位灰度图用于输出
It = cvCreateImage( cvSize( Igray -> width, Igray -> height ), IPL_DEPTH_8U, 1 ); //单通道8位灰度图
Iat = cvCreateImage( cvSize( Igray -> width, Igray -> height ), IPL_DEPTH_8U, 1 );
//阈值化
cvThreshold( Igray, It, threshold, 255, threshold_type );
cvAdaptiveThreshold( Igray, Iat, 255, adaptive_method, threshold_type, block_size, offset );
//命名窗体输出
cvNamedWindow( "Raw", 1 );
cvNamedWindow( "Threshold", 1 );
cvNamedWindow( "Adaptive Threshold", 1 );
cvShowImage( "Raw", Igray );
cvShowImage( "Threshold", It );
cvShowImage( "Adaptive Threshold", Iat );
cvWaitKey(0);
//回收内存
cvReleaseImage( &Igray );
cvReleaseImage( &It );
cvReleaseImage( &Iat );
cvDestroyWindow( "Raw" );
cvDestroyWindow( "Threshold" );
cvDestroyWindow( "Adaptive Threshold" ); return 0;
}
上述代码是二值化和自适应二值化的比较,在该工程文件夹同级目录下面的Debug文件找到 自适应阈值.exe 文件,然后打开命令行提示符,针对上述文件可进行下面操作:
1,首先进到Debug文件,找到.exe文件,如D:\myopencv\opencv\Code\Opencv\Debug
2,在命令行输入下面:
D:\myopencv\opencv\Code\Opencv\Debug>自适应阈值.exe 15 1 1 71 15 D:\myopencv\opencv\Code\Opencv\自适应阈值\2.jpg
3,结果如下:
简单的和大家分享一下。
最新文章
- 一个技术汪的开源梦 —— 公共组件缓存之分布式缓存 Redis 实现篇
- ngCordova插件安装使用
- centos性能监控系列三:监控工具atop详解
- HDU 5067 (状态压缩DP+TSP)
- 济南学习 Day 4 T2 am
- Java学习笔记之:Java的数据类型
- 2.2&hellip;&hellip;测试
- 如何设置SVN提交时强制添加注释
- struts2中的方法过滤拦截器
- 不用注册热键方式在Delphi中实现定义快捷键(又简单又巧妙,但要当前窗体处在激活状态)
- R语言统计分析技术研究 特征值选择技术要点
- ztree使用font-awesome字体的问题,
- SpringBoot整合Mybatis,多数据源,事务,支持java -jar 启动.
- springmvc注解形式的开发参数接收
- 爬虫2 urllib用法
- ES系列五、ES6.3常用api之搜索类api
- 逆袭之旅DAY16.东软实训.Oracle.修改用户
- hdu 527 Necklace
- vue父子间通信
- promise顺序执行,返回结果存放在数组