Python-opencv修正画像
OpenCVは、BSDライセンス(オープンソース)に基づいて発行されるプラットフォーム間コンピュータビジュアルライブラリです.
OpenCVのインストール:
pip3 install opencv-python
ケース画像に透かしを追加
OpenCV簡単操作画像:
一、画像を読み取る
OpenCVは、画像をさらに処理することができる、例えば、画像を合成したり、透かしを追加したりして、opencvを装着後にcv 2を導くことができる.
imread関数によるピクチャ参照1の読み出し:ピクチャ参照2:読み出し方式: cv2.IMREAD_COLOR#:1カラー画像をロードすると、画像の透明度は無視されます.これはデフォルトのフラグ です. cv2.IMREAD_GRAYSCALE#:0画像 をグレースケールモードでロードする cv2.IMREAD_UNCHANGED#:-1 alpha channel(透明チャネル) を含む画像をロード
読み込まれたのはマトリクス、線形代数です
二、ウィンドウに画像を表示する
imshow関数を使用して、最初に読んだデータをパラメータ1:カスタムウィンドウ名パラメータ2:画像データ(任意の複数のウィンドウを作成できますが、ウィンドウ名は異なることを保証する必要があります)を読み出します.
ダイレクトコールimshowはデフォルトのウィンドウフォーマットを使用しており、まずズーム可能なウィンドウを作成し、新しいウィンドウにimshowで表示することができます.
cv2.waitKeyはキーボードバインド関数で、パラメータはミリ秒単位です.この関数は、指定したミリ秒以内のキーボードイベント(キーボードのいずれかのキーを押すなど)を待機します.その時間帯にキーボードのキーを押すと、プログラムは続行されます.パラメータが0に設定と、キーストロークが無期限に待機する.
三、画像を保存する
imwrite関数を使用して、画像を保存します.
参照1:新しいファイル名参照2:保存する画像の矩形情報
画像を読み込んだ後、新しい画像に保存すると、保存する前に画像を修正することができます.
四、画像データの修正
1画像に白い線を追加
修正した画像を保存したが、ウィンドウに表示されなかった.
2画像の一部を別の画像に貼り付ける
画像1の一部を画像2に表示する.
補足:画像プロパティへのアクセス
画像のプロパティには行数 列数 チャネル数channels 画像データ型 ピクセル数…など… 1 . img.shape画像の形状はimg.shapeは、メタグループ形式の行数、列数、チャネル数(画像がカラーの場合)を返します.完全な画像は、赤と緑、青の3つのチャネルから構成されています.彼らの共同作用は完全な画像を生み出し、注意してください.
2 . img.size画素の総数(行数x列数xチャネル数)はimgとすることができる.sizeが得る:
3 . img.dtype画像のデータ型はimg.dtypeで取得:img.dtypeは、OpenCV-Pythonコードの多くのエラーが無効なデータ型によって引き起こされるため、debug中に非常に重要です.
OpenCVのインストール:
pip3 install opencv-python
ケース画像に透かしを追加
OpenCV簡単操作画像:
一、画像を読み取る
OpenCVは、画像をさらに処理することができる、例えば、画像を合成したり、透かしを追加したりして、opencvを装着後にcv 2を導くことができる.
import cv2
# 1 , 2 , cv2.IMREAD_GRAYSCALE,
img = cv2.imread('image.jpeg', cv2.IMREAD_COLOR)
print(img) #
imread関数によるピクチャ参照1の読み出し:ピクチャ参照2:読み出し方式:
読み込まれたのはマトリクス、線形代数です
二、ウィンドウに画像を表示する
import cv2
img = cv2.imread('image.jpeg', cv2.IMREAD_COLOR)
# 1 2
cv2.imshow(' A', img)
# 0 >0
# ascii
key = cv2.waitKey(0)
imshow関数を使用して、最初に読んだデータをパラメータ1:カスタムウィンドウ名パラメータ2:画像データ(任意の複数のウィンドウを作成できますが、ウィンドウ名は異なることを保証する必要があります)を読み出します.
ダイレクトコールimshowはデフォルトのウィンドウフォーマットを使用しており、まずズーム可能なウィンドウを作成し、新しいウィンドウにimshowで表示することができます.
#
cv2.namedWindow('erha',cv2.WINDOW_NORMAL)
cv2.waitKeyはキーボードバインド関数で、パラメータはミリ秒単位です.この関数は、指定したミリ秒以内のキーボードイベント(キーボードのいずれかのキーを押すなど)を待機します.その時間帯にキーボードのキーを押すと、プログラムは続行されます.パラメータが0に設定と、キーストロークが無期限に待機する.
三、画像を保存する
# ,
cv2.imwrite('newimage', img)
imwrite関数を使用して、画像を保存します.
参照1:新しいファイル名参照2:保存する画像の矩形情報
画像を読み込んだ後、新しい画像に保存すると、保存する前に画像を修正することができます.
四、画像データの修正
1画像に白い線を追加
import cv2
#
img = cv2.imread('img1.jpg', cv2.IMREAD_UNCHANGED)
# 2. BGR
for i in range(500):
img[i, i] = [255, 255, 255]
# ( 1 , 2 )
cv2.imwrite("newimg.jpg", img)
key = cv2.waitKey(0)
print(key)
#
cv2.destroyAllWindows()
修正した画像を保存したが、ウィンドウに表示されなかった.
2画像の一部を別の画像に貼り付ける
import os
import cv2
#
img1 = cv2.imread('img1.jpg', cv2.IMREAD_UNCHANGED)
#
img2 = cv2.imread('img2.jpg', cv2.IMREAD_UNCHANGED)
# x,y
img1[100:250, 100:250] = img2[200:350, 200:350]
# hehe , img1
cv2.imshow('hehe', img1)
key = cv2.waitKey(0)
print(key)
#
cv2.destroyAllWindows()
画像1の一部を画像2に表示する.
補足:画像プロパティへのアクセス
画像のプロパティには
3
, , ,
shape
2 . img.size画素の総数(行数x列数xチャネル数)はimgとすることができる.sizeが得る:
3 . img.dtype画像のデータ型はimg.dtypeで取得:img.dtypeは、OpenCV-Pythonコードの多くのエラーが無効なデータ型によって引き起こされるため、debug中に非常に重要です.
uint8 8 rgb 0-255, 8