Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenCV imshow未在osx中显示图像_C++_Macos_Opencv - Fatal编程技术网

C++ OpenCV imshow未在osx中显示图像

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

我在一本书的基础上工作,并复制了以下代码(基本上相当于“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::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;