17-像素点和ROI操作

复制代码
   图像是由像素组成的矩阵,每个像素都有一个或多个值,表示颜色或灰度。在灰度图像中,每个像素只有一个值,表示灰度强度;在彩色图像中,每个像素通常有三个值,分别表示红色、绿色和蓝色(RGB)通道的强度。
   在 Python 中,可以使用 OpenCV 库来访问图像的像素值。假设我们有一个灰度图像 img,可以通过 img[y, x] 来访问位于 (x, y) 位置的像素值。对于彩色图像,可以通过 img[y, x, c] 来访问特定通道 c 的像素值,其中 c 为 0(蓝色)、1(绿色)或 2(红色)。
   代码-1:访问像素值
python 复制代码
import cv2
import numpy as np
# 创建背景为黑色的图片
# 第一个参数:图片的宽高及通道,宽高为512,通道为3,第二个参数为数据类型
img = np.zeros((512,512), np.uint8)

roi = img[100,100] # 获取图片的100行100列的像素点
# 输出roi,如果为灰度图像,则输出为单通道数据0,如果为彩色图像,则输出为三通道数据[0,0,0]
print(roi)

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

代码-2:设置像素点

python 复制代码
import cv2
import numpy as np
# 创建背景为黑色的图片
# 第一个参数:图片的宽高及通道,宽高为512,通道为3,第二个参数为数据类型
img = np.zeros((512,512,3), np.uint8)

roi = img[100,100] # 获取图片的100行100列的像素点
# 输出roi,如果为灰度图像,则输出为单通道数据0,如果为彩色图像,则输出为三通道数据[0,0,0]
print(roi)
# 设置图片的100行100列的像素点为白色
# img[100,100] = [255,255,255]
# 等同上面代码
img[100,100,0] = 255
img[100,100,1] = 255
img[100,100,2] = 255
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

代码-3:为例能肉眼识别,设置多个像素:

python 复制代码
import cv2
import numpy as np
# 创建背景为黑色的图片
# 第一个参数:图片的宽高及通道,宽高为512,通道为3,第二个参数为数据类型
img = np.zeros((512,512,3), np.uint8)

count = 0
while count < 200:

    img[count,100] = [255,255,255]
    count += 1

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

执行结果:(画了一条白线)

ROI 是指图像中我们感兴趣的区域。通过提取 ROI,我们可以只对图像的特定部分进行处理,从而提高处理效率。

代码-4:提取某个区域ROI

python 复制代码
import cv2
import numpy as np
# 创建背景为黑色的图片
# 第一个参数:图片的宽高及通道,宽高为512,通道为3,第二个参数为数据类型
img = np.zeros((512,512,3), np.uint8)
# 创建ROI:提取
roi = img[100:400, 100:400]
print(roi)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

代码-5:提取 ROI 后,可以对其进行修改,然后将修改后的 ROI 放回原图像中。

python 复制代码
import cv2
import numpy as np
# 创建背景为黑色的图片
# 第一个参数:图片的宽高及通道,宽高为512,通道为3,第二个参数为数据类型
img = np.zeros((512,512,3), np.uint8)
# 填充为白色
img[100:400, 100:400] = [255,255,255]

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
相关推荐
Ztopcloud极拓云视角1 小时前
ChatGPT超级应用改版技术解析:Codex集成架构与多模型路由实战
人工智能·chatgpt·架构
秋98 小时前
从 Python 后端工程师转型 AI Engineer(AI 工程化)的完整补课清单(2026实战版)
开发语言·人工智能·python
啦啦啦_99998 小时前
5. 迁移学习
人工智能·机器学习·迁移学习
A.说学逗唱的Coke8 小时前
【AI·Coding】TDD × SDD × AI Coding:从“测试驱动“到“规范驱动“的智能协作实践
人工智能·驱动开发·tdd
云烟成雨TD8 小时前
Spring AI Alibaba 1.x 系列【78】沙箱(Sandbox)
java·人工智能·spring
tq10868 小时前
基于SLIP的防幻觉的指南
人工智能
甲维斯9 小时前
Kimi版超级玛丽效果“惊人”,配额不足5厘米!
前端·人工智能
console.log('npc')10 小时前
AI前端工程与生成式UI学习路线
前端·人工智能·ui
秋910 小时前
3年经验Python后端转AI Engineer:3个月实战转型计划(2026版)
开发语言·人工智能·python
圣殿骑士-Khtangc10 小时前
GPT-5.5 技术深度解析与企业级生产落地实战:从幻觉率下降到百万Token工程化
人工智能·gpt