使用cv2和numpy的奇数图像

时间:2018-07-21 08:23:02

标签: python-3.x opencv cv2

我正在运行以下代码:

import cv2
import numpy
f = open("raw_image",'rb')
raw_image = f.read(720 * 1280 * 3)
image = numpy.fromstring(raw_image, dtype='uint8')
image = image.reshape((720, 1280, 3))
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey(1)

,我得到以下结果: enter image description here 该图像是高度为720p,宽度为1280的RGB图像。 有什么想法如何解决吗?

编辑:我从摄像机接收分辨率为720x1280的图像。该图像是彩色图像。我从中读取字节的文件raw_image包含命令的输出:

gst-launch-1.0 fdsrc ! h264parse ! avdec_h264 ! filesink location=/dev/stdout

如您所见,收到的图像格式错误,我不知道如何解决。

EDIT2 :这是原始图像:https://drive.google.com/file/d/1hPRUEVNFiKmiUFbzksUlzzC04teml4hw/view?usp=sharing

EDIT3:(运行代码后)(注意:我仅显示前720 * 1280字节):

raw_image = f.read(720 * 1280 * 3)
raw_image=raw_image[:720 * 1280]
image=numpy.frombuffer(raw_image,dtype='uint8')
image = image.reshape((720,1280))
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey(1)

我得到了这个结果: enter image description here 当我将一些左侧部分移到右侧时,添加以下行:

image=numpy.concatenate((image[:,141:],image[:,:141]),axis=1)

我有一个很好的图像: enter image description here

可以帮助解决这个谜团吗?

1 个答案:

答案 0 :(得分:0)

如果您在终端中使用 ImageMagick 生成像这样的红蓝色渐变,您会发现代码工作正常:

<div class="box">
  <p>Nulla consequat massa quis enim. Donec pede justo,fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus
    ut, imperdiet a, venenatis vitae, justo.</p>
</div>

<div class="box">
  <p>Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus
    ut, imperdiet a, venenatis vitae, justo.</p>
</div>

<div class="box">
  <p>Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus
    ut, imperdiet a, venenatis vitae, justo.</p>
</div>

enter image description here


我推断您的convert -size 1280x720 gradient:red-blue -depth 8 rgb:raw_image 东西是“不快乐”


您共享的图片包含以下内容:

enter image description here

我像终端一样使用 ImageMagick 将其转换为JPEG:

gst

我再次推断出您的convert -size 1280x720 -depth 8 rgb:raw_image.dms result.jpg 东西是“不开心”