制作平台网站方案,站外推广营销方案,佛山十大进出口贸易公司,什么网站做外贸最好python-opencv 培训课程作业
作业一#xff1a; 第一步#xff1a;读取 res 下面的 flower.jpg#xff0c;读取彩图#xff0c;并用 opencv 展示
第二步#xff1a;彩图 - 灰度图 第三步#xff1a;反转图像#xff1a;最大图像灰度值减去原图像#xff0c;即可得…python-opencv 培训课程作业
作业一 第一步读取 res 下面的 flower.jpg读取彩图并用 opencv 展示
第二步彩图 - 灰度图 第三步反转图像最大图像灰度值减去原图像即可得到反转的图像
第四步用 plt 对比展示原图、灰度图、反转图 plt.subplot()
import os
import cv2
import matplotlib.pyplot as plt
import numpy as np
#默认加载彩图
pathrflower.jpg# imread(path,way)
#way0 灰度图。way1 彩图
#默认彩图#cv2.COLOR_BGR2GRAY#cv2.COLOR_BGR2RGB
#cv2.COLOR_BGR2HSVHSV-色调、饱和度、亮度def cv_show(name,img):cv2.imshow(name,img)#cv2.waitKey(0),接收0表示窗口暂停cv2.waitKey(0)#销毁所有窗口cv2.destroyAllWindows()
# 第一步读取 res 下面的 flower.jpg读取彩图并用 opencv 展示
imgcv2.imread(path)cv_show(flower,img)# 彩图 - 灰度图
img_graycv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 反转图像最大图像灰度值减去原图像即可得到反转的图像max_gray_valueimg_gray.max()
print(max_gray_value)covert_imgmax_gray_value-img# 用 plt 对比展示原图、灰度图、反转图 plt.subplot()plt.subplot(131)
img img[:,:, ::-1]
plt.imshow(img)plt.title(original)plt.subplot(132)
plt.imshow(img_gray,gray)
plt.title(img_gray)
plt.subplot(133)
covert_imgcovert_img[:,:, ::-1]
plt.imshow(covert_img)
plt.title(covert_img)plt.show()
作业二 第一步第一步读取 res 下面的 girl.jpg读取彩图并转换为rbg格式展示
第二步灰度化处理并展示 第三步灰度图二值化处理像素值大于50设置为255小于50设置为0 第四步伽马变换通过幂运算来调整图像的对比度和亮度每个像素值取 0.8 次幂参考 math.pow(gamma[i][j], 0.8)并展示最终结果 第五步对数变换通过对每个像素点的灰度值进行对数计算以增强图像中低灰度级的细节增强图像的整体对比度对每个像素求 3 * math.log(1 log[i][j])并展示最终结果
代码如下
import cv2
import copy
import math
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as npmpl.rcParams[font.sans-serif] [SimHei] # 指定默认字体 SimHei 黑体# 读入原始图像 res/girl.jpg并用展示 rgb
pathrgirl.jpgdef cv_show(name,img):cv2.imshow(name,img)#cv2.waitKey(0),接收0表示窗口暂停cv2.waitKey(0)#销毁所有窗口cv2.destroyAllWindows()
# 第一步读取 res 下面的 girl.jpg读取彩图并转换为rbg格式展示
imgcv2.imread(path)img_rgbcv2.cvtColor(img,cv2.COLOR_BGR2RGB)cv_show(original,img)
cv_show(girl_rgb,img_rgb)
#cv_show(girl_rgb,img)
# 灰度化处理并展示
img_graycv2.cvtColor(img,cv2.COLOR_BGR2GRAY)cv_show(girl_gray,img_gray)
# 二值化处理# gray是灰度图像素值大于50设置为255小于50设置为0ret,dst1cv2.threshold(img_gray,50,255,cv2.THRESH_BINARY)
cv_show(girl_gray_binary,dst1)# 伽马变换通过幂运算来调整图像的对比度和亮度每个像素值取 0.8 次幂参考 math.pow(gamma[i][j], 0.8)并展示最终结果
rows img.shape[0] # rows、cols 行列数rows 也就是高度
cols img.shape[1]# 设定伽马值
gamma 0.8# 对图像进行伽马变换
gamma_correction np.power(img_gray / 255.0, gamma)
gamma_correction (gamma_correction * 255).astype(np.uint8)
cv_show(girl_gamma_correctiony,gamma_correction)# 对数变换通过对每个像素点的灰度值进行对数计算以增强图像中低灰度级的细节增强图像的整体对比度对每个像素求 3 * math.log(1 log[i][j])并展示最终结果
for i in range(rows):for j in range(cols):img_gray[i][j] 3 * math.log(1 img_gray[i][j])# print(img_gray[i][j])cv_show(log_img,img_gray)