现在的位置: 首页 > 综合 > 正文

opencv学习备注

2014年02月09日 ⁄ 综合 ⁄ 共 1391字 ⁄ 字号 评论关闭

2009-10-11 17:34

看了下自己写的文章,觉得很好笑。都是xx学习备注,而且都是很浅浅的开个头。汗。。。

今天又开始写opencv学习备注了。

接触图像处理2年了,还没有用过opencv,一直都是自己写代码的,是时候融入大家庭了。

先下载了书learning opencv。

阅读中。。。。。

2009-10-24

书看看很简单,毕竟前面有点cv的基础,嘿嘿。

今天动手设置开发环境。参考官网的文章。有一点要提下。install build的时候,会出错。多build几下就能成功了。

为了做界面方便,项目是支持clr的,System::string 类型转换成char* 类型也头痛了好一会。

终于找到了,不敢私藏

 IntPtr p=Marshal::StringToHGlobalAnsi(this->openFileDialog1->FileName);
      char * filename=static_cast<char*>(p.ToPointer());
      Marshal::FreeHGlobal(p);//这句要去掉

接下去碰到了150002错误,网上竟然找不到什么提示。后来在官网找到一个,说要安装vcredist_x86.exe,

试了还是不行。也有说能成的。我不成。

 

偶然发现,在release模式下是可以的。

于是按照learning opencv的代码写了个显示图像的。

结果又发现显示不出来,是一个灰色的区域,原来是上面的代码有错

 

 Marshal::FreeHGlobal(p); 这句要去掉

ok了。。。。。。。。。。

但是窗口的位置好像是随机的,还有如何对这个窗口进行定制呢?

又试了下视频的例子,打开一个mpg的可以,wmv的播放了几帧就出错了。rmvb的可以。看来是调用的directshow的,

还有例子中的代码,如何直接关窗口时不行的。退不出来,一定得按esc键退出.路过先..

如果想把打开的图片显示在当前窗口的某个面板中,不知道可以不。。这部分内容,应该是在highgui里

 

看了下,gui的功能还是直接用程序语言自带的好。

如果能把IplImage对象和Timage对象来个转换,则gui用语言来实现会更方便。let's try it。 

 

2009-10-27

发现用cvNamedwindow无法实现mdi的窗口。后来听网友偶爱葡萄的做法,把iplimage转换成bitmap类型,放弃了cvnamedwindow。

.net c++中需要关注资源的释放问题吗?

 

2009-10-29

实现了灰度化,二值化,连通区标记的功能,接下去还要用ml模块来实现ocr的功能

ocr具备印刷体中英文识别的功能即可。手写体的识别最好以后能比较容易的添加进去。中文,英文,数字的识别可以分开。

以及屏幕录制或者指定窗口的内容录制功能,这个会比较难吧。

就这几个功能已经够忙一阵子的了。 

2009-10-31

这两天进展比较慢,c++不熟悉加上代码上的琐碎问题。今天实现了c++的全局变量,c++编译器和c++在易用性上还真不如c#。

不能够让程序员很好的关注程序或者算法本身。c++的全局变量通过下面的方式实现

innerfile int&i()

{

  static int instance

return instance

}

#define g_i i()

该代码来自网络。

接下去我希望先做局部特征这一块。29号的安排先放一下。

抱歉!评论已关闭.