将OpenCV代码片段从c++转换为Python

Converting OpenCV code snippet from C++ to Python

本文关键字:转换 Python c++ OpenCV 代码 片段      更新时间:2023-10-16

我正在尝试将此代码转换为python。
有人能帮我吗?

    cv::Mat image;
while (image.empty()) 
{
    image = cv::imread("capture.jpg",1);
}
cv::imwrite("result.jpg",image);
`

在Python中,c++的Mat变成了numpy数组,因此图像操作变得像访问多维数组一样简单。然而,在c++和Python中,方法名是相同的。

import cv2 #importing opencv module
img = cv2.imread("capture.jpg", 1) #Reading the whole image
cv2.imwrite("result.jpg", img) # Creating a new image and copying the contents of img to it

EDIT:如果您想在映像文件生成后立即写入内容,那么您可以使用os.path.isfile(),根据给定目录中文件的存在返回bool值。

import cv2 
import os.path
while not os.path.isfile("capture.jpg"):
    #ignore if no such file is present.
    pass
img = cv2.imread("capture.jpg", 0)
cv2.imwrite("result.jpg", img)

您也可以参考文档了解每个方法的详细实现和基本图像操作。