1. ホーム
  2. python

[解決済み] PILからopenCVフォーマットへの変換

2022-07-12 01:19:11

質問

の画像を変換しようとしています。 PIL から OpenCV の書式に変更しました。私が使っているのは OpenCV 2.4.3 . 今まで試行錯誤してきたことがここにあります。

>>> from PIL import Image
>>> import cv2 as cv
>>> pimg = Image.open('D:\\traffic.jpg')                           #PIL Image
>>> cimg = cv.cv.CreateImageHeader(pimg.size,cv.IPL_DEPTH_8U,3)    #CV Image
>>> cv.cv.SetData(cimg,pimg.tostring())
>>> cv.cv.NamedWindow('cimg')
>>> cv.cv.ShowImage('cimg',cimg)
>>> cv.cv.WaitKey()

しかし、画像がCV形式に変換されていないような気がします。ウィンドウには大きな茶色の画像が表示されています。 このような場合、どこに問題があるのでしょうか? PIL から CV の形式に変更しますか?

また、なぜ cv.cv と入力する必要があるのでしょうか?

どのように解決するのですか?

これを使います。

pil_image = PIL.Image.open('Image.jpg').convert('RGB') 
open_cv_image = numpy.array(pil_image) 
# Convert RGB to BGR 
open_cv_image = open_cv_image[:, :, ::-1].copy()