Python图像处理的三种方法

这篇具有很好参考价值的文章主要介绍了Python图像处理的三种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 前言:最近在做微观电子器件的表面缺陷检测,用pyqt5做一个调用海康威视的gige接口的工业相机界面,官网上的代码是用的tkinter去做的界面,tkinter修改界面都是要在代码上进行修改有点麻烦,我在官网给的basicdemo.py上修改成pyqt的界面,后续可以直接用qtdesigner进行修改很方便,在更换框架的过程中,发现在取流显示在label_1上、拍完照把照片显示在label_2上和保存拍完的照片tkinter和pyqt有点差别,所以学习了一下图像组成,图像读取、处理、显示、保存等问题

一、opencv处理图像

1、opencv默认读入BGR通道顺序,读取的是数组类型numpy.ndarray,需要交换到rgb通道顺序才能用plt显示,不然会因为通道顺序不一致出现色偏。类型unit8,0-255。读取的图片格式是(H,W,C)。

# opencv库
import cv2 as cv
src=cv.imread('car.jpg')
print(src)
print(src.size)  # (12502500)
print(src.shape)  # (1667,2500,3)
# ship_RGB_2 = cv.cvtColor(src, cv.COLOR_BGR2RGB)
img = cv.resize(src,(800,600))  # cv库的resize
cv.imshow('input_image', img)
cv.imwrite('car_1.jpg',img)
cv.waitKey(0)
cv.destroyAllWindows()

 二、Image处理图像

2、Image默认读入的是PIL格式,默认读入通道顺序RGB,需要转换到numpy格式,转换后的数组为unit8,0-255。读取的形状为:(H,W,C)。

# PIL库
from PIL import Image
import numpy as np
img = Image.open('car.jpg')
print(img)
print(img.size)  # (2500,1667)
c = np.array(Image.open("car.jpg"))  # 将PIL读取的图像格式转化成数组,才可对其进行操作
print(c.shape, c.dtype)  # 转为数组格式后才能使用shape参数
img = Image.fromarray(np.uint8(img)).resize((800, 600), Image.ANTIALIAS) # 将数组转为PIL格式才能显示
img.save('car_2.jpg')
img.show()

三、Matplotlib处理图像

3、Matplotlib 默认读入RGB通道顺序,读取的是数组类型numpy.ndarray

#Matplotlib库
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
lena = mpimg.imread('car.jpg') # 这里读入的数据是 float32 型的,范围是0-1
# 此时 lena 就已经是一个 np.array 了,可以对它进行任意处理
print(lena)
print(type(lena))
plt.imshow(lena)
plt.axis('off')  # 不显示坐标轴
plt.savefig("car_3.jpg")
plt.show()

图像的一些参数:

type(img)  #numpy.ndarray
img.size  #2040000
img.dtype  #dtype('uint8')

 最终成功实现读取gige接口的工业相机,取流、拍照、保存界面python图像处理,python,图像处理,numpy

python图像处理,python,图像处理,numpy

 文章来源地址https://www.toymoban.com/news/detail-563407.html

python图像处理,python,图像处理,numpy

 

到了这里,关于Python图像处理的三种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包