ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

二、图像数字化基础-1.像素

2022-02-23 21:32:29  阅读:200  来源: 互联网

标签:数字化 image 像素 BGR 图像 250 cv 255


import cv2 as cv

"""
1.像素是构成数字图像的基本单位
2.像素的形状是不固定的,通常大多数情况下,像素被认为是方形的,但有时也可能是圆形的或者其他形状的
"""
# 1.表示图中指定的像素
image = cv.imread('./ImgFile/Conan.jpg')
print(image.shape)  # 先获取彩色图像的【像素列数,像素行数,通道数】组成的数组
px = image[300, 300]  # 坐标(300,300)上的像素

# 2.获取像素的BGR值
print("像素(300,300)上的像素BGR值为:", px)  # [253 255 254]

"""
说明:
    图像中该像素点(300,300)的RGB值为(254,255,253),
    会发现,这两个结果中的数值是相同的,但顺序是相反的。
    原因是OpenCV对图像的通道顺序进行了转换,
    即把RGB图像的通道顺序由【R->G->B】转换为BGR图像的通道顺序【B->G->R】
    
    RGB图像是指用RGB色彩空间显示的图像,通道顺序为【R->G->B】
    BGR图像是指用BGR色彩空间显示的图像,通道顺序为【B->G->R】
"""

# 3.获取像素px的BGR值有如下两种方式
# 方式一:同时获取坐标像素的B通道、G通道、R通道
image_1 = cv.imread('./ImgFile/Conan.jpg')
px = image_1[250, 250]
print("方式一:\n坐标[250,250]上的像素:", px)

# 方式二:分别获取坐标像素的B通道、G通道、R通道
image_2 = cv.imread('./ImgFile/Conan.jpg')
blue = image_2[250, 250, 0]
green = image_2[250, 250, 1]
red = image_2[250, 250, 2]
print("方式二:\n坐标[250,250]上的像素为:", blue, green, red)

# 4.修改像素的BGR值
image_3 = cv.imread('./ImgFile/Conan.jpg')
px = image_3[100, 100]
print('坐标[100,100]上像素的初始BGR值为:', px)
px = [255, 255, 255]
print('坐标[100,100]上像素修改后的BGR值为:', px)
"""
注意:
    对于BGR/RGB图像,当每个像素的R、G、B这3个数值相等时,就可以得到灰度图像。
    其中,R=G=B=0(B=G=R=0)为纯黑色,R=G=B=255(R=G=B=0)为纯白色
"""

# 5.修改图中指定区域内的所有像素
# 例如修改Conan.jpg中坐标(540,10),(590,10),(540,60),(590,60)这四个点所围成的区域内所有像素修改为纯白色
image_4 = cv.imread('./ImgFile/Conan.jpg')
cv.imshow('Conan', image_4)
for i in range(540, 591):   # i表示横坐标,在区间[540,621]内取值
    for j in range(10, 61):   # j表示纵坐标,在区间[]
        image_4[i, j] = [255, 255, 255]
cv.imshow('changeConan', image_4)
cv.waitKey()
cv.destroyAllWindows()

标签:数字化,image,像素,BGR,图像,250,cv,255
来源: https://blog.csdn.net/Zhong_Er_Bing/article/details/123099770

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有