溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python+OpenCV中圖片局部區域像素值處理的示例分析

發布時間:2021-06-11 15:00:39 來源:億速云 閱讀:358 作者:小新 欄目:開發技術

這篇文章主要介紹了Python+OpenCV中圖片局部區域像素值處理的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

圖片本就是數組形式,對于8位灰度圖,通道數為1,它就是個二位數組,這樣就沒有必要再設置ROI區域,復制出來這塊區域再循環提取像素存入數組進行處理了,可以直接將圖片存入數組,再利用numpy進行切分相應的數組操作就可以了。

ps:這次我重新裝的opencv3.2.0版本,代碼里面直接用cv2了

# 查看opencv版本,終端輸入:
$ pkg-config --modversion opencv

cv_img_cv2.py

# -*- coding:utf-8 -*-
__author__ = 'lwp'

import cv2
import numpy as np
import matplotlib.pyplot as plt
 
path ='/media/lwp/A/111111.jpg' # 圖片路徑
lwpImg = cv2.imread(path) # 加載圖片
gray_lwpImg = cv2.cvtColor(lwpImg, cv2.COLOR_BGR2GRAY) # 轉為灰度圖

# 畫目標區域,參數分別為圖片、左上坐標、右下坐標、框的顏色、框線條的粗細
lwpImg = cv2.rectangle(lwpImg, (290, 0), (310, 327), (0, 255, 0), 2) 
# 顯示標記后的圖片
cv2.imshow('local_pixel', lwpImg) 

# 提取圖片像素值到矩陣
pixel_data = np.array(gray_lwpImg)
# 提取目標區域
box_data = pixel_data[:, 290:310]
# 矩陣行求和
pixel_sum = np.sum(box_data, axis=1)

# 畫圖
x = range(576)
fig = plt.figure(figsize=(4, 2))
ax1 = fig.add_subplot(1, 1, 1)
ax1.bar(x, pixel_sum, width=1) # x為每個條形到x軸0點的距離,width為每個條的寬度
plt.xlabel('X')
plt.ylabel('Y')
plt.title('edge_filter')
plt.grid(True)
plt.show()

key = cv2.waitKey(0) & 0xFF
if key == ord('q'): # 按q關閉窗口
  cv2.destroyAllWindows()

效果:

Python+OpenCV中圖片局部區域像素值處理的示例分析

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python+OpenCV中圖片局部區域像素值處理的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女