OpenGL de プログラミング - エンボス画像作成
現在地 >> メニュー >> サンプルコード::OpenCV >> エンボス画像作成

問題


以下の画像にフィルタをかけて、エンボス画像を作成せよ。
画像

答え


#include <cv.h>
#include <highgui.h>
#include <cstdio>

float data[3][3] =
{
{-1,-1,0},
{-1, 1, 1},
{0, 1, 1}
};

int main( int argc, char **argv)
{

IplImage *image = cvLoadImage( "test3.jpg", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
if(image ==NULL)
{
printf("File not found\n");
exit(0);
}



CvMat kernel = cvMat (3,3, CV_32F, &data[0]); //先頭アドレスを渡す
cvFilter2D (image, image, &kernel);


cvNamedWindow("window",CV_WINDOW_AUTOSIZE);
cvShowImage("window",image);


cvWaitKey(0);


cvReleaseImage( & image);
cvDestroyWindow("window");


return 0;
}


メモ


カラーでもOK。

フィルタの中央が明るさ。(1なら元画像のまま)


  • えんぼすぼつこーど?