C++ OpenCV imshow未在osx中显示图像
我在一本书的基础上工作,并复制了以下代码(基本上相当于“hello world”的openCV):C++ OpenCV imshow未在osx中显示图像,c++,macos,opencv,C++,Macos,Opencv,我在一本书的基础上工作,并复制了以下代码(基本上相当于“hello world”的openCV): //helloCV.cpp #包括 int main(int argc,字符**argv){ cv::Mat img=cv::imread(argv[1],-1); if(img.empty())返回-1; cv::namedWindow(“示例1”,cv::WINDOW\u AUTOSIZE); cv::imshow(“示例1”,img); cv::waitKey(0); cv::destroy
//helloCV.cpp
#包括
int main(int argc,字符**argv){
cv::Mat img=cv::imread(argv[1],-1);
if(img.empty())返回-1;
cv::namedWindow(“示例1”,cv::WINDOW\u AUTOSIZE);
cv::imshow(“示例1”,img);
cv::waitKey(0);
cv::destroyWindow(“示例1”);
返回0;
}//主要
不幸的是,当我运行这段代码时,我得到了一个带有标题的窗口,其中没有任何内容:
我怀疑我在安装OpenCV时弄乱了环境或类似的东西,但cmake没有抛出任何错误,代码按预期运行,在击键时正确退出,所有这些,最明显的例外是没有显示照片
有什么建议吗
谢谢 感谢@DanMašek在这篇文章中的领先地位,也感谢本页面上的所有人: 重复一下他们所说的,对我起作用的是: 要解决此问题,请找到文件窗口_cocoa.mm;如果从源代码构建,它将位于opencv/modules/highgui/src中 更改以下内容: 对此: 对CVWindow和CVSlider实现执行相同的操作,以适应视频 重新编译OpenCV并测试代码
希望这能帮助其他人解决这个问题 感谢@DanMašek在这篇文章中的领先地位,也感谢本页面上的所有人: 重复一下他们所说的,对我起作用的是: 要解决此问题,请找到文件窗口_cocoa.mm;如果从源代码构建,它将位于opencv/modules/highgui/src中 更改以下内容: 对此: 对CVWindow和CVSlider实现执行相同的操作,以适应视频 重新编译OpenCV并测试代码
希望这能帮助其他人解决这个问题 最近发布了一些类似的问题,例如:谢谢,@DanMašek!很高兴看到不仅仅是我;今晚我将对此进行讨论,看看其他功能是否工作得更好,是否可以绕过imshow似乎存在的问题。相关bug报告:最近发布了一些类似的问题,例如:谢谢,@DanMašek!很高兴看到不仅仅是我;今晚我将对此进行讨论,看看其他功能是否工作得更好,是否可以绕过imshow似乎存在的问题。相关错误报告:做得很好。:)别忘了接受你的回答,因为额外的代表做得很好。:)别忘了接受你的答案,还有额外的代表。
//helloCV.cpp
#include <opencv2/opencv.hpp>
int main(int argc, char** argv){
cv::Mat img = cv::imread(argv[1], -1);
if (img.empty()) return -1;
cv::namedWindow("Example1", cv::WINDOW_AUTOSIZE);
cv::imshow("Example1", img);
cv::waitKey(0);
cv::destroyWindow("Example1");
return 0;
}//main
@implementation CVView
#if defined(__LP64__)
@synthesize image;
#else // 32-bit Obj-C does not have automatic synthesize
@synthesize image = _image;
#endif
@implementation CVView
@synthesize image = _image;