最近这两天一直在研究命令行参数的编译,现代吗如下:

#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,结果如下:

             

简单的和大家分享一下。

最新文章

  1. 一个技术汪的开源梦 —— 公共组件缓存之分布式缓存 Redis 实现篇
  2. ngCordova插件安装使用
  3. centos性能监控系列三:监控工具atop详解
  4. HDU 5067 (状态压缩DP+TSP)
  5. 济南学习 Day 4 T2 am
  6. Java学习笔记之:Java的数据类型
  7. 2.2&hellip;&hellip;测试
  8. 如何设置SVN提交时强制添加注释
  9. struts2中的方法过滤拦截器
  10. 不用注册热键方式在Delphi中实现定义快捷键(又简单又巧妙,但要当前窗体处在激活状态)
  11. R语言统计分析技术研究 特征值选择技术要点
  12. ztree使用font-awesome字体的问题,
  13. SpringBoot整合Mybatis,多数据源,事务,支持java -jar 启动.
  14. springmvc注解形式的开发参数接收
  15. 爬虫2 urllib用法
  16. ES系列五、ES6.3常用api之搜索类api
  17. 逆袭之旅DAY16.东软实训.Oracle.修改用户
  18. hdu 527 Necklace
  19. vue父子间通信
  20. promise顺序执行,返回结果存放在数组

热门文章

  1. JavaScript之this指针深入详解
  2. Google邮箱:Gmail国际顶级邮箱
  3. DocumentBuilder setEntityResolver() Method
  4. 深入浅出node(4) 异步编程
  5. Maven 打胖jar
  6. DB2 数据库绑定用户授权命令
  7. Groovy新手教程
  8. C++中的术语
  9. svn is alread locked
  10. Android微信智能心跳方案