最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NumPy?ROI區(qū)域操作的詳細(xì)教程

 更新時(shí)間:2026年05月01日 10:52:18   作者:qq_16313575  
本文介紹了OpenCV中ROI的概念及其在圖像處理中的應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

ROI = Region of Interest(感興趣區(qū)域),在 OpenCV/圖像處理中就是截取圖片的一部分,NumPy 數(shù)組的切片語(yǔ)法是核心!

先記住核心規(guī)則(最重要)

數(shù)組[ 起始行 : 結(jié)束行 , 起始列 : 結(jié)束列 ]

對(duì)應(yīng)圖像:

img[ y1:y2 , x1:x2 ]
  • 行 = 高度 = y 軸
  • 列 = 寬度 = x 軸

一、入門(mén):最簡(jiǎn)單的 ROI 截取

import numpy as np

# 創(chuàng)建一個(gè) 6x6 測(cè)試數(shù)組(模擬圖像)
img = np.arange(36).reshape(6,6)
print("原始數(shù)組:")
print(img)

# ====================
# 【入門(mén)1】截取固定區(qū)域 ROI
# ====================
# 截取 行1~行4,列2~列5
roi = img[1:5, 2:6]
print("\n截取 ROI(行1-4,列2-5):")
print(roi)

二、基礎(chǔ):彩色圖像(3通道)ROI

# 創(chuàng)建 400x400 彩色圖
img = np.zeros((400,400,3), dtype=np.uint8)

# ====================
# 截取 ROI:y1:y2, x1:x2
# ====================
roi = img[50:200, 100:300]  # 高50→200,寬100→300

print("ROI 形狀:", roi.shape)  # (150行, 200列, 3通道)

三、進(jìn)階1:修改 ROI

ROI 是原圖的視圖,不是副本,改 ROI = 改原圖!

import numpy as np

img = np.zeros((300,300,3), np.uint8)

# 截取ROI
roi = img[50:150, 50:250]

# 把ROI改成純紅色
roi[:,:] = [0,0,255]  # 全部賦值

# 查看原圖 → 已經(jīng)被修改!
print(img[50,50])  # [0,0,255]

四、進(jìn)階2:復(fù)制 ROI(獨(dú)立副本,不影響原圖)

# 方法1:.copy()
roi = img[50:150,50:150].copy()

# 方法2:np.copy()
roi = np.copy(img[50:150,50:150])

# 現(xiàn)在修改 roi 不會(huì)影響原圖!
roi[:,:] = [0,255,0]

五、高階1:ROI 疊加 / 粘貼

import numpy as np

# 創(chuàng)建大圖 + 小圖
img = np.zeros((400,400,3), np.uint8)
logo = np.ones((100,100,3), np.uint8) * 255  # 白色小圖

# ====================
# 把小圖粘貼到大圖的 ROI 位置
# ====================
img[50:150, 50:150] = logo

六、高階2:ROI 按條件提?。ㄑ诖a提取)

img = np.random.randint(0,255,(200,200,3), np.uint8)

# 提取紅色通道 > 100 的區(qū)域
mask = img[:,:,2] > 100

# 只保留滿足條件的區(qū)域
roi = img[mask]

七、高階3:ROI 邊緣擴(kuò)展(padding)

# 給ROI周?chē)?0像素黑色邊框
img = np.zeros((200,200,3), np.uint8)
roi = img[50:100,50:100]

# 上下左右各擴(kuò)展10像素,填充黑色
roi_pad = np.pad(roi, ((10,10),(10,10),(0,0)), mode='constant')

八、高階4:ROI 批量裁剪(循環(huán)批量截?。?/h2>
img = np.zeros((500,500,3), np.uint8)
rois = []

# 循環(huán)截取多個(gè)ROI
for y in range(0,500,100):
    for x in range(0,500,100):
        roi = img[y:y+100, x:x+100]
        rois.append(roi)

九、超實(shí)用:OpenCV 圖像 ROI 完整示例

import cv2
import numpy as np

# 讀取圖片
img = cv2.imread("test.jpg")
height, width = img.shape[:2]

# ====================
# 1. 截取人臉區(qū)域(模擬)
# ====================
x1, y1 = 100, 80
x2, y2 = 300, 350
face_roi = img[y1:y2, x1:x2]

# ====================
# 2. 把ROI區(qū)域調(diào)亮
# ====================
face_roi = cv2.add(face_roi, 50)

# ====================
# 3. 粘貼回原圖
# ====================
img[y1:y2, x1:x2] = face_roi

# 顯示
cv2.imshow("ROI結(jié)果", img)
cv2.waitKey(0)

十、ROI 常見(jiàn)錯(cuò)誤總結(jié)

  1. 越界報(bào)錯(cuò)
    img[500:600, 100:200]  # 圖片只有400高,會(huì)報(bào)錯(cuò)
    
  2. 形狀不匹配
    img[50:100,50:100] = roi  # roi必須是 50x50
    
  3. 修改ROI同步改原圖
    → 必須用 .copy()

最終總結(jié)(最核心)

# 截取
roi = img[y1:y2, x1:x2]

# 獨(dú)立副本
roi = img[...].copy()

# 粘貼
img[y1:y2, x1:x2] = roi

# 通道
roi = img[..., 2]  # 紅色通道

到此這篇關(guān)于NumPy ROI區(qū)域操作的詳細(xì)教程的文章就介紹到這了,更多相關(guān)NumPy ROI區(qū)域操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python MNIST手寫(xiě)體識(shí)別詳解與試練

    Python MNIST手寫(xiě)體識(shí)別詳解與試練

    MNIST(官方網(wǎng)站)是非常有名的手寫(xiě)體數(shù)字識(shí)別數(shù)據(jù)集,在Tensorflow的官方網(wǎng)站里,第一個(gè)就拿它來(lái)做實(shí)戰(zhàn)講解,咱們也以此作為開(kāi)始的項(xiàng)目
    2021-11-11
  • 深入理解Python閉包與裝飾器從入門(mén)到進(jìn)階

    深入理解Python閉包與裝飾器從入門(mén)到進(jìn)階

    本文詳細(xì)介紹了Python編程中的閉包和裝飾器,詳細(xì)講述了裝飾器的概念、格式及各種應(yīng)用場(chǎng)景,強(qiáng)調(diào)了閉包和裝飾器在Python編程中的重要性和實(shí)際應(yīng)用,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • Python批量查找包含多個(gè)關(guān)鍵詞的PDF文件

    Python批量查找包含多個(gè)關(guān)鍵詞的PDF文件

    在信息爆炸的時(shí)代,數(shù)據(jù)管理變得愈發(fā)重要,本文主要為大家介紹了如何通過(guò)Python批量查找包含多個(gè)關(guān)鍵詞的PDF文件,希望對(duì)大家有所幫助
    2024-11-11
  • python manim實(shí)現(xiàn)排序算法動(dòng)畫(huà)示例

    python manim實(shí)現(xiàn)排序算法動(dòng)畫(huà)示例

    這篇文章主要為大家介紹了python manim實(shí)現(xiàn)排序算法動(dòng)畫(huà)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 一文帶你搞懂Python類(lèi)的訪問(wèn)控制

    一文帶你搞懂Python類(lèi)的訪問(wèn)控制

    這篇文章主要為大家詳細(xì)介紹了Python中類(lèi)的訪問(wèn)控制的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以了解一下
    2025-05-05
  • 利用python畫(huà)出折線圖

    利用python畫(huà)出折線圖

    這篇文章主要為大家詳細(xì)介紹了利用python畫(huà)出折線圖的相關(guān)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python實(shí)現(xiàn)自動(dòng)生成高質(zhì)量文章的示例代碼

    Python實(shí)現(xiàn)自動(dòng)生成高質(zhì)量文章的示例代碼

    在當(dāng)今內(nèi)容為王的時(shí)代,自媒體創(chuàng)作者們面臨著巨大的內(nèi)容生產(chǎn)壓力,每天需要產(chǎn)出大量高質(zhì)量文章來(lái)吸引讀者,下面我們就來(lái)看看如何僅用50行Python代碼打造一個(gè)自動(dòng)文章生成器吧
    2025-06-06
  • 基于Python+PyQt5打造一個(gè)跨平臺(tái)Emoji表情管理神器

    基于Python+PyQt5打造一個(gè)跨平臺(tái)Emoji表情管理神器

    在當(dāng)今數(shù)字化社交時(shí)代,Emoji已成為全球通用的視覺(jué)語(yǔ)言,本文主要為大家詳細(xì)介紹了如何使用Python和PyQt5開(kāi)發(fā)一個(gè)功能全面的Emoji工具箱,需要的可以了解下
    2025-06-06
  • python爬取拉勾網(wǎng)職位數(shù)據(jù)的方法

    python爬取拉勾網(wǎng)職位數(shù)據(jù)的方法

    這篇文章主要介紹了python爬取拉勾網(wǎng)職位數(shù)據(jù)的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python tkinter布局與按鈕間距設(shè)置方式

    Python tkinter布局與按鈕間距設(shè)置方式

    這篇文章主要介紹了Python tkinter布局與按鈕間距設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03

最新評(píng)論

亳州市| 馆陶县| 额尔古纳市| 韩城市| 绍兴市| 阿巴嘎旗| 旌德县| 博客| 社旗县| 富锦市| 永德县| 丹棱县| 嘉义市| 和政县| 刚察县| 应用必备| 吉林市| 榆社县| 天台县| 海阳市| 台山市| 邓州市| 长顺县| 保山市| 龙里县| 会同县| 嘉善县| 嵊州市| 开鲁县| 枣强县| 八宿县| 谷城县| 浦城县| 东源县| 塔河县| 鸡泽县| 安吉县| 兰西县| 浠水县| 金平| 娄底市|