Posted on 2016/09/28, 8:19 PM By admin22
画像認識をOpenCVを使ってやってみたくなり、事始めとして画像のRGBの操作をしてみました。
OpenCV Documents:
http://docs.opencv.org/2.4/doc/tutorials/tutorials.html
環境: Ubuntu 16.04
インストール:
apt-get install libcv-dev libhighgui-dev libml-dev libcvaux-dev libopencv-photo-dev
rgb.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <opencv/cv.h> #include <opencv/highgui.h> #include <iostream> using namespace cv; int main (int argc, char **argv) { Mat img = imread("red.png"); imshow("original", img); for(int y=0;y<img.rows;y++){ Vec3b* p = img.ptr<Vec3b>(y); for(int x=0;x<img.cols;x++){ Vec3b bgr = p[x]; if(bgr[0] < 50 && bgr[1] < 50 && bgr[2] > 100){ printf("%d,%d,%d\n", bgr[0], bgr[1], bgr[2]); p[x] = Vec3b(255,0,0); } } } imshow("edit", img); waitKey(0); return 0; } |
コンパイル:
g++ -o rgb rgb.cpp -lopencv_core -lopencv_highgui -lopencv_imgproc
これは赤色の部分を青色に変えた簡単なものです。
画像から何を読み取るか(コンピュータを目として)、その手法を考えるだけで、とても可能性を感じます。
Categories: 未分類 タグ: OpenCV