- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我希望你能帮助我。
我正在使用 QT 并尝试对图像的边缘进行简单检测。但是当我启动时我的程序崩溃了
cv::GaussianBlur( src, src, cv::Size(3,3), 0, 0, cv::BORDER_DEFAULT );
或
cv::Sobel( src_gray, grad_x, ddepth, 1, 0, 3, scale, delta, cv::BORDER_DEFAULT );
这是我的代码:
QImage *image1;
IplImage *cv_image1;
image1 = new QImage("./image.png"); // Format is ARGB32
cv_image1 = QImage2IplImage(image1);
cv::Mat src(cv_image1);
cv::imshow(window_name, src); // Work Well
cv::Mat src_gray;
int scale = 1;
int delta = 0;
int ddepth = CV_16S;
cv::GaussianBlur(src, src, cv::Size(3,3), 0, 0, cv::BORDER_DEFAULT); //Crash Here
cv::imshow( window_name, src);
我认为这是格式问题。但是在另一个使用 ARGB32 中的 QIMAGES 的程序中,这段代码运行良好。谢谢。
最佳答案
尝试使用此函数将 QImage 正确地转换为 cv::Mat,你应该没问题(我还包括了从 cv::Mat 到 QImage 的转换):
cv::Mat cvmat_from_qimage(const QImage& qimage)
{
cv::Mat mat = cv::Mat(qimage.height(), qimage.width(), CV_8UC4, (uchar*)qimage.bits(), qimage.bytesPerLine());
cv::Mat mat2 = cv::Mat(mat.rows, mat.cols, CV_8UC3 );
int from_to[] = { 0,0, 1,1, 2,2 };
cv::mixChannels( &mat, 1, &mat2, 1, from_to, 3 );
return mat2;
}
QImage qimage_from_cvmat(const cv::Mat& mat)
{
cv::Mat rgb;
cvtColor(mat, rgb, CV_BGR2RGB);
return QImage((const unsigned char*)(rgb.data), rgb.cols, rgb.rows, QImage::Format_RGB888);
}
关于c++ - OpenCV:在 QImage 上使用 GaussianBlur 或 Sobel 导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11018290/
我不是 C++、OpenCV 和 CUDA 的专家,也不明白为什么 cv::gpu::warpPerspective(g_mask, g_frame, warp_matrix, g_frame.siz
我希望高斯模糊操作是对称的,但使用 OpenCV 2.4.11 GaussianBlur我遇到了不同。 这是一个例子。我申请 GaussianBlur图像,以及图像的翻转版本。我已经单独验证了 fli
我正在尝试使用 GaussianBlur 处理图像。 但我无法让它发挥作用。它说: Uncaught TypeError: fields[fieldName].write is not a funct
我是新手 OCV 和 android 开发人员。我想在我的应用程序中使用 Imgproc.GaussianBlur 过滤器。当我使用它时,应用程序发送“应用程序已停止”。我只在“OpenCV 教程 3
使用 PIL 读取图像后,我通常使用 scipy.ndimage 执行高斯滤波器,如下所示 import PIL from scipy import ndimage PIL_image = PIL.I
有人知道如何在 div 标签后面的所有内容上重现高斯模糊效果吗? 我在谷歌上搜索了几个月,我发现只有使用canvas utilities 对图像播放的效果..但这不是我要找的。 同样,jQuery 的
我在 viewController 的 viewDidLoad 中使用以下函数创建模糊效果 func applyBlurEffect(image: UIImage){ let imag
我正在尝试在 Python 中移植一些 lua/torch 代码,有一个序列在图像上运行高斯模糊,如下所示: local gauK = image.gaussian(math.ceil(3*sigma
import UIKit import QuartzCore class FirstView: UIView { var copyright = CATextLayer() overr
我发布了我的一小部分代码,因为我不断收到一个我似乎无法摆脱的奇怪错误。可以在这一行找到问题:Imgproc.GaussianBlur(mGray, mGray, new Size (5,5), 2.2
我正在尝试使用 Python OpenCV 对视频流进行高斯滤波器,但出现错误: blur = cv.GaussianBlur(dst, (5, 5), 0) AttributeError: 'mod
我发布了我的一小部分代码,因为我不断收到一个我似乎无法摆脱的奇怪错误。可以在这一行找到问题:Imgproc.GaussianBlur(mGray, mGray, new Size (5,5), 2.2
我是opencv的新手。我应该为涉及使用 2D 低通高斯滤波器的项目执行操作。我用的OpenCV是2.2的,里面有两个函数:filter2d()和GaussianBlur()。 执行相同的工作?让我解
我有这段 Python 代码: cv2.addWeighted(src1, 4, cv2.GaussianBlur(src1, (0, 0), 10), src2, -4, 128) 如何将其转换为
当我调用 Imgproc.GaussianBlur(dst, dst ,new Size(3,3),1);在我的应用程序中它工作得很好。一旦我将内核大小增加到 new Size(4,4) 否则我会得到
我希望你能帮助我。 我正在使用 QT 并尝试对图像的边缘进行简单检测。但是当我启动时我的程序崩溃了 cv::GaussianBlur( src, src, cv::Size(3,3), 0, 0, c
我正在尝试使用以下代码片段创建模糊效果: let glowEffectNode = SKEffectNode() glowEffectNode.shouldRasterize = true
我是一名优秀的程序员,十分优秀!