图像处理项目总结 (排错经验)

编程入门 行业动态 更新时间:2024-10-10 11:24:58

<a href=https://www.elefans.com/category/jswz/34/1769353.html style=图像处理项目总结 (排错经验)"/>

图像处理项目总结 (排错经验)

最近完成一交通标志检测与识别项目,框架为ubuntu上opencv用c/c++开发。

一个项目好的算法、思想是很重要的一方面,编程实现也很重要。

而且个人实现时总会遇到许多意料不到的问题。虽然正确的程序看起来理所当然,但实际排起错来挺费时的。

下面步入正题:

        opencv使用时的常见一般又不易发现的坑

                     1. resize问题   此函数正确调用格如下

cv::resize (image,image, cv::Size (Height,Weight),INTER_LINEAR);

                     2. OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /build/opencv-SviWsf/opencv-2.4.9.1+dfsg/modules/imgproc/src/color.cpp, line 3737
terminate called after throwing an instance of 'cv::Exception'

  what():  /build/opencv-SviWsf/opencv-2.4.9.1+dfsg/modules/imgproc/src/color.cpp:3737: error: (-215) scn == 3 || scn == 4 in function cvtColor

   这个问题一般是由于将已经是灰度图的图片继续转为灰度图时引起的,写程序时要注意传递的Mat矩阵是不是已经是灰度阵了。

                     3. 各种内存报错

                       主要是指针操作时边界问题。在项目实际应用中,使用指针可以获取最快的速度,但高收益和高风险并存,在指针操作矩阵时一定要注意内存空间分配、边界问题。有时程序较复杂时,可以在纸上列出指针操作的实际情况,这样看起来比较直观,易于排查理解。    还有就是有些情况下程序可能没有问题,但这并步意味着万事大吉,只是可能没有遇到让程序崩溃的问题而已。在实际项目中,一定要全面考虑这些因素。考虑到可能出现的各种情况,做好情况判断和异常处理工作。保证程序在各种工况下都可以强健到运行。

排错时多输出变量的相关信息,这样能充分掌握程序运行时的各种信息,也更易于精准的发现错误之处。

更多推荐

图像处理项目总结 (排错经验)

本文发布于:2024-03-15 08:33:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1738496.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:图像处理   经验   项目

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!