python图像处理一

导入相关库:

	import chardet
	import numpy as np
	import cv2 as cv
	from PIL import Image
	import sys
	from matplotlib import pyplot as plt

函数说明:

plt库的中文乱码处理:

     plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
  	 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

对于opencv的像素是BGR顺序,然而matplotlib所遵循的是RGB顺序:

	或者采用img3=img[:,:,::-1]转换
	或者采用img2 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

图像均衡化,参数说明:一维数组,bin+1的长度(即257),range

	 hist = cv.calcHist([images],[0],None,[256],[0,256])

灰度图像与彩色图像的显示:

	plt.figure("Image")
	#这里必须加 cmap='gray' ,否则显示的是伪彩色图像
     plt.subplot(121)
     plt.title('gray')
	# 灰度图像
	img = cv.imread('D:/1/1.jpg',0)
	plt.imshow(img,cmap='gray')
	plt.subplot(122)
	# 彩色图像
	img = cv.imread('D:/1/1.jpg',1)
	b,g,r=cv.split(img)
	img2=cv.merge([r,g,b])
	plt.title('color ')
	plt.imshow(img2)
	plt.show()

在这里插入图片描述

利用numpy库实现均衡化:

	img = cv.imread("D:/1/1.jpg",0)
	# 返回值hist:数组直方图的值,bin:返回bin边缘(length(hist)+1)
	hist, bins = np.histogram(img.flatten(), 256, [0,256])
	cdf = hist.cumsum()
	cdf_normalized = cdf*float(hist.max())/cdf.max()
	plt.plot(cdf_normalized, color = 'b')   #画曲线
	plt.hist(img.flatten(),256,[0,256], color = 'r')    #绘制直方图
	plt.xlim([0,256])     # x轴的范围
	plt.show()

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值