使用 OpenCV 保存图像的问题?

Posted

技术标签:

【中文标题】使用 OpenCV 保存图像的问题?【英文标题】:Problems with saving image with OpenCV? 【发布时间】:2017-12-03 22:28:33 【问题描述】:

所以,这就是我想要的。我有一个使用 OpenCV 绘制圆圈的相机框架。现在,我有一个按钮,允许用户捕获图像帧,然后将图像保存在内部存储中。但问题来了。我不希望图像框中的圆圈出现在保存的图像中。如何在保存之前消除圆圈,然后在保存图像后,圆圈又回到屏幕上?

【问题讨论】:

在图像的克隆上绘制圆圈。渲染克隆,保存原始。 【参考方案1】:

我希望我理解正确。 你覆盖mrgba 矩阵,同时调用Imgproc.circle(mrgba,new Point(centerx,centery),200,new Scalar(255,0,0),10);。首先,复制图像矩阵,就像对 black 所做的那样,然后自己绘制圆。

【讨论】:

【参考方案2】:

你试过了吗

#create a clone (circle) of original (mrgba)
BufferedImage circle = new BufferedImage(widthOfImage, heightOfImage, 
BufferedImage.TYPE_INT_RGB);
Graphics g =circle.createGraphics();
g.drawImage(mrgba, 0, 0, null);

Imgproc.circle(circle,new Point(centerx,centery),200,new Scalar(255,0,0),10);  #put circle on circle

cv2.imshow("Image", circle) //show circle
cv2.imwrite(/path/to/file/name, mrgba) //save original

类似的东西。

【讨论】:

以上是关于使用 OpenCV 保存图像的问题?的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV:如何使用 cv::imwrite 保存图像而不覆盖它们

使用 OpenCV 保存整数 CV_32S 图像

在 OpenCV 中保存原始图像

OpenCV imwrite()不保存图像

Opencv 图像读取与保存问题

Opencv-Python:图像尺寸图像的读取显示保存与复制