当前位置:   article > 正文

图像属性操作_图像 image[1, :, :]返回的是图像____(b, r 或 g)通道的矩阵

图像 image[1, :, :]返回的是图像____(b, r 或 g)通道的矩阵

  数字图像处理本质是对多维矩阵的操作。按照处理对象不同,可分为黑白图像处理,灰度图像处理,彩色图像处理。按照处理方法分为空间域处理和频域处理。按照策略分为全局处理和局部处理。

  1. #一般步骤
  2. 输入图像 多维数组 数组运算 图像格式
  3. >图像数字化 ->图像表示 -> 图像处理 -> 图像存储

基本属性操作

亮度操作

对比度操作

颜色通道操作

基本属性操作

亮度操作

  亮度也称灰度·,是颜色明暗变化的范围,常用0%-100%表示。一般数字图像像素亮度位0-255,可以通过对像素构成的矩阵灰度值进行操作,达到调整调整图像亮度的目的。

对比度操作

  对比度指图像亮暗落差值(图像最大灰度值和最小灰度值之间的差值)。设原像素灰度位f(i,j)

 转化后像素灰度位g(i,j),常用线性变化:g(i,j)=a*f(i,j)+b,系数a影响图像对比度,系数b影响图像亮度。

a=1原图

a>1对比度增强,图像更清晰;

a<1对比度减弱,图像变暗

b影响图像亮度,随着增加b(b>0)或减小b,图像整体灰度值上移或下移,不会改变图像对比度。

  1. from skimage import io
  2. from matplotlib import pyplot as plt
  3. import numpy as np # 导入所需类包
  4. # 改变对比度函数
  5. def change_ratio(im, a):
  6. im_change = np.zeros(shape=im.shape, dtype='uint8')
  7. for i in range(im.shape[0]):
  8. for j in range(im.shape[1]):
  9. for k in range(im.shape[2]):
  10. if im[i, j, k] * a > 255:
  11. im_change[i, j, k] = 255;
  12. elif im[i, j, k] * a < 0:
  13. im_change[i, j, k] = 0;
  14. else:
  15. im_change[i, j, k] = im[i, j, k] * a
  16. return im_change
  17. im = io.imread("Jo.jpg")
  18. plt.imshow(im)
  19. plt.show()
  20. im_change = change_ratio(im, 0.68)
  21. plt.imshow(im_change)
  22. plt.show()

原图:

改变对比度后:

 整体变暗。

颜色通道操作

  数字图像本质是一个多维矩阵,彩色图像是一个三位矩阵,灰度和黑白图像由二维矩阵表示。彩色图像一般分为红,绿,蓝3个颜色通道,每个颜色通道对应一个完整的二维矩阵。可以对这三个二维矩阵操作,达到操作图像通道的目的。

对图像三个颜色通道进行分离:

  1. from skimage import io
  2. from matplotlib import pyplot as plt
  3. # 导入所需类包
  4. img = io.imread("Jo.jpg")
  5. # 分别取出红,绿,蓝三个颜色通道
  6. img_r = img[:, :, 0]
  7. img_g = img[:, :, 1]
  8. img_b = img[:, :, 2]
  9. plt.imshow(img)
  10. plt.show()
  11. # 分别展示三个通道
  12. plt.subplot(2, 2, 1)
  13. io.imshow(img_r)
  14. plt.subplot(2, 2, 2)
  15. io.imshow(img_g)
  16. plt.subplot(2, 2, 3)
  17. io.imshow(img_b)
  18. plt.show()

原图:

取出颜色通道后的图像:

   我们现在拥有三个颜色通道,尝试互换三个颜色通道:

  1. from skimage import io
  2. from matplotlib import pyplot as plt
  3. # 导入所需类包
  4. img = io.imread("Jo.jpg")
  5. # 分别取出红,绿,蓝三个颜色通道
  6. img_r = img[:, :, 0]
  7. img_g = img[:, :, 1]
  8. img_b = img[:, :, 2]
  9. #红色蓝色互换
  10. tmp=img_r
  11. img_r=img_b
  12. img_b=tmp
  13. #互换后通道颜色赋值给图像
  14. img[:,:,0]=img_r
  15. img[:,:,2]=img_b
  16. #显示图像
  17. plt.imshow(img)
  18. plt.show()

颜色通道互换后:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/433741
推荐阅读
相关标签
  

闽ICP备14008679号