opencv imshow函数报cv::exception错误,以及sift算法的使用问题

记录遇到的小问题

刚发布的就不见了,活生生的不见了,难道是我吐槽百度出来的博客很多都是抄的同一篇?
简略的描述一下问题(小白使用,大佬就不用看了)
opencv版本:4.0.0,使用vs2015编译

  1. 调用imshow函数,报cv::exception错误
    经过科学上网,确认opencv4.0.0版本中,imshow函数本身有bug,因此,要么换版本,要么不使用imshow函数,要么自己把这个bug给修复了。这个bug在4.0.1版本之后,已经被解决。
  2. sift的使用问题
    sift算法,是有专利的,因此在不同的opencv版本中使用的方式不一样,
    1. 在3.4.0版本之前,是直接可用的,具体请浏览opencv的帮助手册
    2. 在3.4.0 到 4.4.0版本(不包括4.4.0),由于sift申请了专利,因此都被移入到了nonfree文件夹中,需要在cmake的时候,勾选上ENABLE_NONFREE,来获取,大家从网上搜到的大部分代码,凡是#include了一些nonfree里的文件,基本上就是使用这些版本的opencv
    3. 不过!sift算法的专利到期,惊不惊喜,意不意外?嚯哈哈哈,opencv在4.4.0及之后的版本里,又重新加入了sift算法,只需要包含features2d.hpp文件即可,且以cv::SIFT来使用即可(使用方法跟之前不一样了),可以在商业软件里使用了

你可能感兴趣的:(opencv,opencv,算法,计算机视觉)