初めての利用になります。
(画像の中心座標を求める -src_img.cols: 幅 -src_img.rows: 高さ )(距離が閾値以上の場合は白色, 閾値未満は入力画像の画素値を入力する)
↓自分で書いてみました
#include <stdio.h>
#include <iostream>
#include <opencv2/opencv.hpp>
//画像ファイル (小さめが良い)
#define FILE_NAME "../Debug/aaa.jpg"
#define WINDOW_NAME_INPUT "input"
#define WINDOW_NAME_OUTPUT "output"
int main(int argc, const char * argv[]) {
int x, y;
//画像の入力
cv::Mat src_img = cv::imread(FILE_NAME);
if (src_img.empty()) {//入力失敗の場合
return (-1);
}
//出力画像のメモリ確保
cv::Mat dst_img = cv::Mat(src_img.size(), CV_8UC3);
for (y=0; y<src_img.rows; y++) {
//縦方向
for (x=0; x<src_img.cols; x++) {
//横方向//画素値の取得
cv::Vec3b s = src_img.atcv::Vec3b(y, x);
if (三平方でやることはわかるんですが…。式が分かりません。) {
s[0] = 255; //B
s[1] = 255; //G
s[2] = 255; //R
}else{
s[0] = s[0]; //B
s[1] = s[1]; //G
s[2] = s[2]; //R
}
dst_img.atcv::Vec3b(y, x) = s;
}
}
cv::imshow(WINDOW_NAME_INPUT, src_img);//画像の表示
cv::imshow(WINDOW_NAME_OUTPUT, dst_img);//画像の表示
cv::waitKey(); //キー入力待ち (止める)
return 0;
}