OpenCVをPythonで使う場合の書き方を調べている

OpenCVをPythonで使う場合の書き方を調べている。

自分の場合はずっと、APIとしてC言語のインターフェースで動かして使っていた

IplImage *img1,*img2;
img1     = cvCreateImage( cvSize(640,480), IPL_DEPTH_8U , 3);
img2     = cvCreateImage( cvSize(640,480), IPL_DEPTH_8U , 1);
cvCvtColor( img1, img2, CV_RGB2GRAY); // color -> grayscale

これからcv::Matを使ったC++での使い方に馴染んでいこうとしている。

ちなみに、C++で同様の処理を書くとこのようになるようだ。

cv::Mat img1,img2;
cv::cvtColor(img1, img2, cv::COLOR_BGR2GRAY);

Pythonで使う場合も似た感じになる。(戻り値に結果が出るようにちょっとAPIが変更されている。)

img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) # Python

Pythonの場合は、cv::Matに相当するものは無く、numpyの行列を使うので、numpyでいろいろ計算するのに慣れている人は使いやすいのだと思う。
例えば、画像をグレースケールで読み込んで表示させる処理は、こんな風に書ける。

import numpy as np
import cv2
img = cv2.imread('test.jpg',0) #grayscale
cv2.imshow('image',img)



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

97 − 96 =