pythonのメモ
pythonを使った時のテストコード。
2014/08/17
normalizeとカラーヒストグラム
cv2.normalize()の使い方
RGBのカラーヒストグラムを例にnormalize()を使ってみる。
python 2.7
numpy 1.8.1
openCV 2.4.9
Windows 7 64bit
import cv2 import numpy as np img = cv2.imread('lena.jpg') channel = 3 calcRange = [0,256] lower = 0 upper = 100 hist = np.zeros([channel*upper,256],dtype=np.uint8) rows, cols= hist.shape hist = cv2.cvtColor(hist,cv2.COLOR_GRAY2BGR) for j in range(channel): chist = cv2.calcHist([img],[j], None, [256], calcRange) cv2.normalize(chist,chist,lower,upper,cv2.NORM_MINMAX) color = [0,0,0] color[j] = 255 y = rows - j*upper for i in range(0,256): v = chist[i] cv2.line(hist,(i,y),(i, y - v),color) cv2.imshow('result',hist) cv2.imshow('lena',img) cv2.waitKey() cv2.destroyAllWindows()
変数lower,upperが正規化するときの下限と上限。
2016/9/24 code修正 rangeに誤り
2014/08/05
'int' object is not callable
'int' object is not callable
というエラー
関数の仮引数にrangeを入れ、その中でrange関数を使ってしまったためにエラーになってしまった。
とにかく関数名を変数名として使わないように気をつける。
原因を見つけるのに時間がかかった。
気をつけねば。
LINK
ひきメモ
[python]変数名と関数名は同じにしてはいけない
2014/08/03
動的輪郭モデル(SnakeImage)を使ってみる。
CvPointがないため、座標はタプルで行うということは、わかっていたのだけど。リストで座標集めてタプルにして渡すというところまでは、なかなか思いつかず手間取った。
youtubeに
SnakeImageの例
があったのだけれど、リンク切れしててわからず。実際はどんなふうにしてるんでしょうね...
python 2.7
numpy 1.8.1
openCV 2.4.9
Windows 7 64bit
import cv2.cv as cv import cv2 import numpy as np img = cv2.imread('en.bmp') h,w = img.shape[:2] length = 60; center_x = w/2 center_y = h/2 channel = 3 src = cv2.imread('en.bmp') iplimg = cv.CreateImageHeader((src.shape[1], src.shape[0]), cv.IPL_DEPTH_8U, channel) cv.SetData(iplimg, src.tostring(), src.dtype.itemsize * channel * src.shape[1]) iplimgGray = cv.CreateImage((w,h),cv.IPL_DEPTH_8U,1) cv.CvtColor(iplimg,iplimgGray,cv.CV_BGR2GRAY) cv2.imshow('original',src) pts = [] for i in range(length): pts.append((int(center_x * math.cos(2*math.pi*i/length)+center_x),int(center_y*math.sin(2*math.pi*i/length)+center_y))) cp = cv.SnakeImage(iplimgGray,tuple(pts),0.45,0.35,0.2,(15,15),(cv.CV_TERMCRIT_ITER,10,0)) for j in range(15): cp = cv.SnakeImage(iplimgGray,cp,0.45,0.35,0.2,(15,15),(cv.CV_TERMCRIT_ITER,10,0)) ncp = np.asarray(cp) gray = np.zeros((w, h, 3), dtype='uint8') cv2.polylines(gray,[ncp],1,(255,255,255)) cv2.imshow('SnakeImage',gray) cv2.waitKey() cv2.waitKey() cv2.destroyAllWindows()
LINK
OpenCV 2.2 (r4295) Python リファレンス
snakeimage
Youtube
cv.SnakeImage Active Contour OpenCV Python
2014/08/01
opencv2で開いてPILで輝度変更
python 2.7
numpy 1.8.1
openCV 2.4.9
PIL(python image library)
Windows 7 64bit
PIL - opencv2
import cv2 import numpy as np from PIL import Image, ImageEnhance src = cv2.imread('lena.jpg') pimg = Image.fromarray(src) img = ImageEnhance.Brightness(pimg).enhance(1.5) dst = np.asarray(img) cv2.imshow('Lena',dst) cv2.waitKey() cv2.destroyAllWindows()
2016/9/24今はもうPillowを使うんだって。
LINK
画像処理でのPythonの利用 - SlideShare
新しい投稿
前の投稿
ホーム
登録:
投稿 (Atom)