小编And*_*lum的帖子

如何从python opencv中的数组中读取原始png?

我正在通过tcp将我的iPhone中的png图像传输到我的MacBook.MacBook代码来自http://docs.python.org/library/socketserver.html#requesthandler-objects.如何转换图像以用于OpenCV?之所以选择png是因为它们很有效,但可以使用其他格式.

我写了一个测试程序,从文件中读取rawImage,但不知道如何转换它:

# Read rawImage from a file, but in reality will have it from TCPServer
f = open('frame.png', "rb")
rawImage = f.read()
f.close()

# Not sure how to convert rawImage
npImage = np.array(rawImage)
matImage = cv2.imdecode(rawImage, 1)

#show it
cv.NamedWindow('display')
cv.MoveWindow('display', 10, 10)
cv.ShowImage('display', matImage)
cv. WaitKey(0)
Run Code Online (Sandbox Code Playgroud)

python png opencv

12
推荐指数
3
解决办法
3万
查看次数

PIL到OpenCV MAT会导致颜色偏移

使用PIL和OpenCV加载png图像时,会出现颜色偏移.黑色和白色保持不变,但棕色变为蓝色.

我无法发布图片,因为此网站不允许新手发布图片.

代码编写如下,而不是使用cv.LoadImageM,因为在实际情况下,原始图像是通过tcp接收的.

这是代码:

#! /usr/bin/env python
import sys
import cv
import cv2
import numpy as np
import Image
from cStringIO import StringIO

if __name__ == "__main__":
    # load raw image from file
    f = open('frame_in.png', "rb")
    rawImage = f.read()
    f.close()

    #convert to mat
    pilImage = Image.open(StringIO(rawImage));
    npImage = np.array(pilImage)
    cvImage = cv.fromarray(npImage)

    #show it
    cv.NamedWindow('display')
    cv.MoveWindow('display', 10, 10)
    cv.ShowImage('display', cvImage)
    cv. WaitKey(0)

    cv.SaveImage('frame_out.png', cvImage)
Run Code Online (Sandbox Code Playgroud)

如何修复色偏?

python opencv python-imaging-library

4
推荐指数
1
解决办法
2889
查看次数

标签 统计

opencv ×2

python ×2

png ×1

python-imaging-library ×1