在 OpenCV 中使用 Qt 控制面板功能报错 NULL 指针
Posted
技术标签:
【中文标题】在 OpenCV 中使用 Qt 控制面板功能报错 NULL 指针【英文标题】:Using Qt control panel function in OpenCV error NULL pointer 【发布时间】:2013-10-18 05:52:40 【问题描述】:我尝试在几个网站上搜索我的问题,但仍然没有答案。 我的问题是这样的http://opencv-users.1802565.n2.nabble.com/Runtime-error-for-createTrackbar-in-control-panel-td7550203.html
我尝试使用 Qt 集成在 OpenCV 窗口中创建控制面板,如 OpenCV 文档示例所示:http://docs.opencv.org/modules/highgui/doc/qt_new_functions.html
通过这个函数,它应该在图像窗口(带有'imshow()')和控制面板(在其他窗口中,称为控制面板)之间分开。
但是,运行到代码'createTrackbar(num1, NULL, &val1, 255, NULL);'时它不起作用显示错误消息“空指针”。但是,如果我将参数更改为窗口名称,它就可以工作!。
我的代码是这样的:
#include <...opencv.hpp>
#include <...highgui.hpp>
char* num1 = "testTrack";
int val1 = 100;
const string mainwin = "show";
int main()
while (true)
frame = capture();
createTrackbar(num1, NULL, &val1 , 255, NULL);
process_frame = image_processing(frame);
imshow(mainwin, process_frame);
// [Exit the system]
if (condition)
break;
你有什么想法吗?
【问题讨论】:
createTrackbar
需要在其上创建一个窗口,您应该为其指定窗口名称..
嗨@guneykayim,但在文档中,似乎我们可以声明为指向窗口的NULL指针?当我们希望“Trackbar”出现在“控制面板”而不是窗口时。这里有一些关于此的内容,docs.opencv.org/modules/highgui/doc/qt_new_functions.html
【参考方案1】:
我不知道这个答案是否有用,但是您需要使用空字符串而不是空指针。
尝试:
createTrackbar(num1, "", &val1 , 255, NULL);
【讨论】:
由于这是一个很长的问题,感谢您的回答。以上是关于在 OpenCV 中使用 Qt 控制面板功能报错 NULL 指针的主要内容,如果未能解决你的问题,请参考以下文章
Qt 配置好OpenCV运行报错 The process was ended forcefully. exe Crashed.