IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

OpneCVのAPIを使ってみる

とりあえずできるようになったので、徐々にAPIを覚えていこうと思います。

プログラムで図形を書く

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
   
int main(int argc, char *argv[])
{
  cv::Mat img(cv::Size(640, 480), CV_8UC3, cv::Scalar(0,0,255));
  cv::line(img, cv::Point(0, 0), cv::Point(640, 480), cv::Scalar(200,0,0), 10, CV_AA);
  cv::imwrite("./img.jpg" , img);
}
root@ip-XXX-XX-XX-XX:opencv-2.4.6.1/samples/c# g++ -ggdb `pkg-config --cflags opencv` -o `basename ./test001.cpp .cpp` ./test001.cpp `pkg-config --libs opencv`
root@ip-XXX-XX-XX-XX:opencv-2.4.6.1/samples/c# ./test001
libdc1394 error: Failed to initialize libdc1394
root@ip-XXX-XX-XX-XX:opencv-2.4.6.1/samples/c# 

f:id:naotoogawa:20140410223608j:plain

画像をぼかす

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
   
int main(int argc, char *argv[])
{
  cv::Mat src_img = cv::imread("Mandarin_Pair.jpg", 1);
  cv::Mat dst_img;
  cv::GaussianBlur(src_img, dst_img, cv::Size(51,3), 80, 3);
  cv::imwrite("./Mandarin_Pair_Blur.jpg" , dst_img);
}

変換前画像
f:id:naotoogawa:20140410223759j:plain
変換後画像
f:id:naotoogawa:20140410223808j:plain