Interface2017年05月号新画像処理101を読む

アファイン変換で平行移動して、画像サイズを大きくした場合 #http://imagingsolution.blog107.fc2.com/blog-entry-284.html import math as m img_src = cv2.imread("data/img_4-2.bmp") eight,width,ch = img_src.shape """ warpAffine 画像のアフィン変換…

Interface2017年05月号新画像処理101を読む

アファイン変換で平行移動した場合 #http://imagingsolution.blog107.fc2.com/blog-entry-284.html import math as m img_src = cv2.imread("data/img_4-2.bmp") eight,width,ch = img_src.shape """ warpAffine 画像のアフィン変換を行います. パラメタ: s…

Interface2017年05月号新画像処理101を読む

4-2 ひずみ補正等に使える並行四辺形変換「スキュー変換(水平)」 アファイン変換で平行移動していない場合 #http://imagingsolution.blog107.fc2.com/blog-entry-284.html import math as m img_src = cv2.imread("data/img_4-2.bmp") eight,width,ch = im…

Interface2017年05月号新画像処理101を読む

技4 変形/移動 処理 4-1 画像を変形したいとき使う回転変形 img_src = cv2.imread("data/img_4-1.bmp") eight,width,ch = img_src.shape """ getRotationMatrix2D 回転変換行列の算出 パラメタ: center – 入力画像中にある回転中心 angle – 度単位で表される…

Interface2017年05月号新画像処理101を読む

A-5 緻密な濃淡表現を実現する「バークス型誤差拡散法」 img_src = cv2.imread("data/img_A-3.bmp") img_dst = np.empty_like(img_src) #座標の大きさ eight = img_src.shape[0] width = img_src.shape[1] for y in range(0,eight): for x in range(0,width)…

Interface2017年05月号新画像処理101を読む

A-4 パターンを用いないハーフトーニング「フロイドスタインバーグ型誤差拡散法」 img_src = cv2.imread("data/img_A-3.bmp") img_dst = np.empty_like(img_src) #座標の大きさ eight = img_src.shape[0] width = img_src.shape[1] for y in range(0,eight):…

Interface2017年05月号新画像処理101を読む

A-3 濃淡を網目の2値パターンで表現する「ベイヤー型ハーフトーニング」 from random import random img_src = cv2.imread("data/img_A-3.bmp") img_dst = np.empty_like(img_src) #座標の大きさ eight = img_src.shape[0] width = img_src.shape[1] patt = …

Interface2017年05月号新画像処理101を読む

A-2 濃度パターンを用いる代表的な濃淡表現「ハーフトーン型ハーフトーニング」 from random import random img_src = cv2.imread("data/img_A-2.bmp") img_dst = np.empty_like(img_src) #座標の大きさ eight = img_src.shape[0] width = img_src.shape[1] …

Interface2017年05月号新画像処理101を読む

技A 白黒の粗密濃淡表現 A-1 白黒の粗密で濃淡を表現する「ハーフトーニング」 from random import random img_src = cv2.imread("data/img_A-1.bmp") img_gray = cv2.cvtColor(img_src,cv2.COLOR_RGB2GRAY) img_dst = np.empty_like(img_src) #座標の大きさ…

Interface2017年05月号新画像処理101を読む

3-7 「何色なのか」という色相を示す(HSV表色系) pass 3-8 「鮮やかさ」である彩度を示す(HSV表色系) pass 3-9 「明るさ」である明度を示す(HSV表色系) pass

Interface2017年05月号新画像処理101を読む

3-6 JPEG画像の色差信号の一つ「YCbCrのCr画像」 img_src = cv2.imread("data/img_3-5.bmp") img_gray = -img_src[:,:,0] * 0.081 - img_src[:,:,1] * 0.41869 + img_src[:,:,2] * 0.5 + 127 #img_srcと同じ大きさのゼロ配列を作成してimg_dstを構成 img_dst…

Interface2017年05月号新画像処理101を読む

3-5 JPEG画像の色差信号の一つ「YCbCrのCb画像」 img_src = cv2.imread("data/img_3-5.bmp") img_gray = img_src[:,:,0] * 0.5 - img_src[:,:,1] * 0.33126 - img_src[:,:,2] * 0.16874 + 127 #img_srcと同じ大きさのゼロ配列を作成してimg_dstを構成 img_ds…

Interface2017年05月号新画像処理101を読む

3-4 人間の目に鈍感な色変化を示す「Q画像」(YIQフォーマット) img_src = cv2.imread("data/img_3-4.bmp") img_gray = img_src[:,:,0] * 0.311 - img_src[:,:,1] * 0.528 + img_src[:,:,2] * 0.212 + 127 #img_srcと同じ大きさのゼロ配列を作成してimg_dst…

Interface2017年05月号新画像処理101を読む

3-3 人間の目に敏感な色変化を示す「I画像」(YIQフォーマット) img_src = cv2.imread("data/img_3-3.bmp") img_gray = -img_src[:,:,0] * 0.322 - img_src[:,:,1] * 0.274 + img_src[:,:,2] * 0.596 + 127 #img_srcと同じ大きさのゼロ配列を作成してimg_ds…

Interface2017年05月号新画像処理101を読む

3-2 画像の明るさ強度を示す「Y画像」(YIQフォーマット) img_src = cv2.imread("data/img_3-2.bmp") img_gray = img_src[:,:,0] * 0.114478 + img_src[:,:,1] * 0.586611 + img_src[:,:,2] * 0.298912 #img_srcと同じ大きさのゼロ配列を作成してimg_dstを…

Interface2017年05月号新画像処理101を読む

技3 色フォーマット変換 3-1 画像の濃淡がひと目でつかめる「ヒストグラム」 img_src = cv2.imread("data/Mandrill.png") #cvtColor関数を使用してグレイ画像を作成 img_gray = cv2.cvtColor(img_src,cv2.COLOR_RGB2GRAY) #描画する cv2.imshow("img_src",i…

Interface2017年05月号新画像処理101を読む

2-6 もっとも優れたコントラスト改善法のひとつ「ヒストグラム平坦化」その2 #前の方法は時間がかかるので別の方法を試す #http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_histograms/py_histogram_equalizat…

Interface2017年05月号新画像処理101を読む

2-6 もっとも優れたコントラスト改善法のひとつ「ヒストグラム平坦化」 かなり時間がかかったpythonには向いていない img_src = cv2.imread("data/inpu_img_2-6.bmp") #画像の大きさ eight = img_src.shape[0] #639 width = img_src.shape[1] #960 #ヒストグ…

Interface2017年05月号新画像処理101を読む

2-5 シンプルなコントラスト改善方法「コントラスト伸長」 img_src = cv2.imread("data/Mandrill.png") #最小値 min = 70 #最大 max = 200 look_up_table = np.arange(256, dtype = np.uint8) for i in range(0,255): if i < min: look_up_table[i] = 0 elif…

Interface2017年05月号新画像処理101を読む

2-4 さざなみのようなゆれエフェクト「正弦波+余弦波揺らぎ」 img_src = cv2.imread("data/Mandrill.png") img_gray = cv2.cvtColor(img_src,cv2.COLOR_RGB2GRAY) #周波数 f = 7.0 #振幅 A = 0.3 #画面の縦方向座標 #y #eight #Y img_dst = np.zeros_like(im…

Interface2017年05月号新画像処理101を読む

2-4 さざなみのようなゆれエフェクト「余弦波揺らぎ」 img_src = cv2.imread("data/Mandrill.png") img_gray = cv2.cvtColor(img_src,cv2.COLOR_RGB2GRAY) #周波数 f = 7.0 #振幅 A = 0.3 #画面の縦方向座標 #y #eight #Y img_dst = np.zeros_like(img_gray)…

Interface2017年05月号新画像処理101を読む

2-4 さざなみのようなゆれエフェクト「正接波揺らぎ」 img_src = cv2.imread("data/Mandrill.png") img_gray = cv2.cvtColor(img_src,cv2.COLOR_RGB2GRAY) #周波数 f = 7.0 #振幅 A = 0.3 #画面の横方向座標 #x #width #X img_dst = np.zeros_like(img_gray)…

Interface2017年05月号新画像処理101を読む

2-4 さざなみのようなゆれエフェクト「正弦波揺らぎ」 img_src = cv2.imread("data/Mandrill.png") img_gray = cv2.cvtColor(img_src,cv2.COLOR_RGB2GRAY) #周波数 f = 7.0 #振幅 A = 0.3 #画面の横方向座標 #x #width #X img_dst = np.zeros_like(img_gray)…

Interface2017年05月号新画像処理101を読む

2-3 1次関数による濃淡調整「折れ線トーンカーブ処理」 img_src = cv2.imread("data/Mandrill.png") #ルックアップテーブルの設定 a = 1.1 #傾き b = 50 #切片 look_up_table = np.zeros((256, 1), dtype = 'uint8') for i in range(256): p = a * i + b if…

Interface2017年05月号新画像処理101を読む

2-2 明るすぎたり暗すぎたりするときに有効「γ補正」 img_src = cv2.imread("data/Mandrill.png") #ルックアップテーブルの設定 gamma = 0.8 look_up_table = np.zeros((256, 1), dtype = 'uint8') for i in range(256): look_up_table[i][0] = 255 * pow(fl…

Interface2017年05月号新画像処理101を読む

技2 明るさの調整 2-1 直線的に明るさを増減する「バイアス調整」 img_src = cv2.imread("data/Mandrill.png") #cvtColor関数を使用してグレイ画像を作成 img_gray_origin = cv2.cvtColor(img_src,cv2.COLOR_RGB2GRAY) img_dst = np.zeros_like(img_gray_ori…

Interface2017年05月号新画像処理101を読む

1-7 モザイクをかける[モザイク画像処理] # 画像の読み込み img_src = cv2.imread("data/Mandrill.png") # オリジナルのサイズを保存しておく。 # shapeで取得できるサイズとresizeの引数に渡すサイズでは横縦の順番が違うらしい。ので[::-1]として反転。 or…

Interface2017年05月号新画像処理101を読む

1-6 コントラストの改善が可能な画素値差表現[ソラリゼーション] look_up_table = np.zeros((256, 1), dtype = 'uint8' ) for i in range(256): if i <= 127: look_up_table[i][0] = 2 * i else: look_up_table[i][0] = 255*2 - 2 * i # 画像の読み込み img_…

Interface2017年05月号新画像処理101を読む

1-5 色数を減らす(ポスター風に変換する)「ポスタリゼーション」 #参考URL #https://www.blog.umentu.work/python-opencv3%E3%81%A7%E3%83%9D%E3%82%B9%E3%82%BF%E3%83%AA%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%9A%8E%E8%AA%BF%E3%81%AE%E5%A4%…

Interface2017年05月号新画像処理101を読む

1-4 定番エフェクトとネガポジを反転する「輝度反転」 img_src = cv2.imread("data/Mandrill.png") #反転する img_dst = 255 - img_src #描画する cv2.imshow("img_src",img_src) cv2.imshow("img_dst",img_dst) cv2.waitKey(0) cv2.destroyAllWindows() #ヒ…