OpenCVの-pythonの画像処理(A)



。Aは、画像データ読み取り
インポート  CV2 

IMG = cv2.imread(" :/image0.JPG D "画像データ読み出し
印刷(IMG)
cv2.imshow(' イメージ'、IMG)        #1 表示ウィンドウデータ 
cv2.waitKeyを(0)                遅延待ち 
cv2.destroyAllWindows()



プリント(IMG)チャネルの#印刷画素値

 

 三つの要素のグループによって表される各画素と各整数(整数)ベクターにおいて:示した結果から

B、G、Rチャンネルを表します。他の色空間(例えば、HSV)も同様にピクセルを表現する方法であるが、異なる範囲及びチャネルの数
(例えば、HSV)

印刷(img.shape)#印刷パス

 

 

画像処理を読みます

cv2.IMREAD_COLOR:カラー画像

cv2.IMREAD_GRAYSCALE:グレースケール画像

 

 画像処理グラデーション

インポート  CV AS CV2
 インポートNP AS numpyの

IMG1 = cv.imread(" :/image0.JPG D "、cv.IMREAD_GRAYSCALE)読み取った画像データ、グレー
印刷(IMG1)
 印刷(img1.shape)
cv.imshow(' 画像'、IMG1)        #1 表示ウィンドウデータ 
cv.waitKey(0)                遅延待ち 
cv.destroyAllWindows()

 

 

 

 

 

コントラストと色のイメージが発生することができます

 

第二に、データの読み出し - ビデオ

cv2.VideoCaptureは、0,1等の各種デジタル機器を制御するために、カメラをキャプチャすることができます。

それは良いのパスを指定するには、直接ビデオファイルである場合。

輸入  CV2
cv2.VideoCapture = VC(0)  カメラを開く
IF vc.isOpened():             カメラの状態分析 
    を開き、フレーム= vc.read()
 
    オープン = Falseの
 オープン:
    RET、フレーム = vc.read()    フレームフレームレート
    のIFフレームはありませんなし:
         BREAK 
    IF RET == 真:
        灰色 = cv2.cvtColor(フレーム、cv2.COLOR_BGR2GRAY) グレーのハンドル 
        cv2.imshow(" 結果" 、グレー)
    もしcv2.waitKey(10)&0xFFで== 27:
ブレークvc.release()

cv2.destroyAllWindows()

そして、モードが灰色に設定されているカメラを読みます

 

カット画像

インポートCV2 
IMG = cv2.imread(" D:/image0.JPG " 
の花 = IMG [0:200,0:200である]            #の切り出し画像 
cv2.imshow(' イメージ'、花)        #1 表示ウィンドウデータ 
cv2.waitKey (0)                遅延待ち 
cv2.destroyAllWindows()

 

 

 唯一のチャネルrを保持するカラーチャネルを抽出します

インポートCV2 
IMG = cv2.imread(" D:/image0.JPG " 
B、G、R&LT = cv2.split(IMG)
 プリント(B)
維持Bのみ生じる 
cur_img = img.copy()
cur_imgの[:、: 、0] = 0 
cur_img [:、:、 1] = 0 
cv2.imshow(' イメージ'、cur_img)        #1 表示ウィンドウデータ 
cv2.waitKey(0)                遅延待ち 
cv2.destroyAllWindows()

 

 

 

  唯一のチャネルGを保持する抽出色チャネル

import cv2
img=cv2.imread("d:/image0.JPG")
b,g,r=cv2.split(img)
print(b)
#只保留b结果
cur_img=img.copy()
cur_img[:,:,0]=0
cur_img[:,:,2]=0
cv2.imshow('image',cur_img)       #显示窗口数据
cv2.waitKey(0)                #等待延迟
cv2.destroyAllWindows()

 

 

   颜色通道地提取只保留b通道

import  cv2
img=cv2.imread("d:/image0.JPG")
b,g,r=cv2.split(img)
print(b)
#只保留b结果
cur_img=img.copy()
cur_img[:,:,1]=0
cur_img[:,:,2]=0
cv2.imshow('image',cur_img)       #显示窗口数据
cv2.waitKey(0)                #等待延迟
cv2.destroyAllWindows()

 

 边界填充

BORDER_REPLICATE:复制法,也就是复制最边缘像素。

BORDER_REFLECT:反射法,对感兴趣的图像中的像素在两边进行复制例如:fedcba|abcdefgh|hgfedcb

BORDER_REFLECT_101:反射法,也就是以最边缘像素为轴,对称,gfedcb|abcdefgh|gfedcba

BORDER_WRAP:外包装法cdefgh|abcdefgh|abcdefg

BORDER_CONSTANT:常量法,常数值填充。

import cv2
import matplotlib.pyplot as plt
img=cv2.imread("d:/cat.JPG")
top_size,bottom_size,left_size,right_size = (50,50,50,50)

replicate = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE)
reflect = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size,cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT_101)
wrap = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_WRAP)
constant = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size,cv2.BORDER_CONSTANT, value=0)
plt.subplot(231), plt.imshow(img, 'gray'), plt.title('ORIGINAL')
plt.subplot(232), plt.imshow(replicate, 'gray'), plt.title('REPLICATE')
plt.subplot(233), plt.imshow(reflect, 'gray'), plt.title('REFLECT')
plt.subplot(234), plt.imshow(reflect101, 'gray'), plt.title('REFLECT_101')
plt.subplot(235), plt.imshow(wrap, 'gray'), plt.title('WRAP')
plt.subplot(236), plt.imshow(constant, 'gray'), plt.title('CONSTANT')

plt.show()

 

 

数值计算

import cv2
img=cv2.imread("d:/image0.JPG")
img_flower=img+10 #所有通道数值+10
print(img[:5,:,0])
print(".........................")
print(img_flower[:5,:,0])

 

 

 当数值超过256时会以%256地形式展示通道数据

print(".........................")
print((img_flower+img)[:5,:,0])

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/xujunjia/p/11440589.html