読者です 読者をやめる 読者になる 読者になる

OpenCVを使ってある色以外は白黒にしてみる。

OpenCVを使ってある色以外は白黒にしてみる。 よくある処理に、ある色のみカラーにして他の色は白黒にして ちょっと雰囲気のある写真にしたててみる。 オレンジ色のみ残して他の色を無くす(グレースケール)にしてみた。 ある色といってもRGBの数値でオレン…

円周率を計算する その3

前回の続き 円周率をPCで計算する。 実際、円周率計算ソフトなどをつかって円周率を求めることができるが スクラッチ状態から円周率プログラムを組んだことがなかったので実際にやってみた。 前回はdouble型の精度の問題で15桁までしか計算できなかった。 今…

円周率を計算する その2

前回の続き 円周率をPCで計算する。 実際、円周率計算ソフトなどをつかって円周率を求めることができるが スクラッチ状態から円周率プログラムを組んだことがなかったので実際にやってみた。 前回は一回しか計算できないプログラムなので 今回は n回 計算で…

円周率を計算する その1

円周率をPCで計算する。 実際、円周率計算ソフトなどをつかって円周率を求めることができるが スクラッチ状態から円周率プログラムを組んだことがなかったので実際にやってみた。 どうやって円周率を求めるのか、そのアルゴリズムを検索。 「円周率 アルゴリ…

OpenCVを使っ輪郭を書いてみる

輪郭とは~~。となりのピクセルの差が大きいところ。 でこうなる。 //画面をだすよ void display(cv::Mat image) { //まえの記事をみてね } // // ここから // int main(int argc, char** argv) { cv::Mat opencv = cv::imread("OpenCv.png",0); cv::Mat im…

OpenCVを使ってLenaさんを拡大する2。

前回は隙間が黒かったので今度は隙間を埋めてさらに ぼかしをいれてなめらか拡大Lenaさんにしてみる。 //画面をだすよ void display(cv::Mat image) { //まえの記事をみてね } // // ここから // int main(int argc, char** argv) { //lenaさん登場!! cv::…

OpenCVを使ってLenaさんを拡大する。

こんどはLenaさんを拡大してみる。 縦の0行目と1行目の間に1行追加、1行目と2行目の間に1行追加・・・・・・ 横の0列目と1列目の間に1列追加、1列目と2列目の間に1列追加・・・・・・ 広げてみた。 //画面をだすよ void display(cv::Mat image) { //ま…

OpenCVを使ってLenaさんを半分のサイズにする。

Lenaさんを半分のサイズにするには縦、横を交互に間引く 縦の1行目と3行目と・・・・ 横の1列目と3列目と・・・・ つめる!!! //画面をだすよ void display(cv::Mat image) { //まえの記事をみてね } // // ここから // int main(int argc, char** arg…

OpenCVを使って輪郭を表示してみる

前回と前々回につかった白い部分を拡大する方法と黒い部分を拡大する方法を組み合わせて Lenaさんの輪郭を浮かびあがせる。白色拡大のLenaさんから黒色拡大のLenaさんを引いてみる と、あら不思議輪郭が出てきた。つまり輝度の変換の大きいところが白くなっ…

OpenCVを使ってLenaさんの白いところを拡大する。

こんどは黒いところでなくて白いところを拡大してみる。 これが何の役に立つのか? //画面をだすよ void display(cv::Mat image) { //まえの記事をみてね } //受け取ったピクセル位置の八方のなかで一番数値が大きいピクセルの数字を求める uchar getMax(cv::…

OpenCVを使ってLenaさんの黒いところを拡大する。(0009)

Lenaさんの黒いところをちょっと拡大する。 これが何の役に立つのか? //画面をだすよ void display(cv::Mat image) { //まえの記事をみてね。 } //受け取ったピクセル位置の八方のなかで一番数値が小さいピクセルの数字を求める uchar getMin(cv::Mat image…

OpenCVを使ってLenaさんをぼかす2にする。(0008)

Lenaさんぼかしの2回めです。 えせガウスぼかし?? //画面をだすよ void display(cv::Mat image) { //以前の記事をみてね!! } int main(int argc, char** argv) { //lenaさん登場!! cv::Mat lena = cv::imread("lena.jpg"); //lenaさん白黒レトロ cv::…

OpenCVを使ってLenaさんをぼかす。(0007)

OpenCVを使ってLenaさんをぼかす。 エッジはごかんべんを!! //画面をだすよ void display(cv::Mat image) { //名前をつける std::string windowName = "windowName"; cv::namedWindow(windowName); //画面位置固定 cv::moveWindow(windowName, 100, 100); …

OpenCVを使ってLenaさんをシャープにする。(0006)

Lenaさんをシャープにするには隣のピクセルの値を使う まず描くピクセル値を5倍、それだと濃すぎるので上、下、右、左の ピクセル値を5倍した値から引く、0-255の範囲を越えると強制的に0か255にする。 隣とくらべて明るいところはさらに明るく!! その反対…

OpenCVを使ってLenaさんを減色にする。(0005)

Lenaさん画像は256x256x256の16777216色だが、減色して64色にしてみる。 256を64で割ると各色4種類。4x4x4=64色、減色にともなって暗くなるので ちょっと明るくする加工を少し追加。 //画面をだすよ void display(cv::Mat image) { //名前をつける std::str…

OpenCVを使ってLenaさんを白黒にする。(0004)

OpenCVを使ってLenaさんを白黒にする。 グレースケールの画像とカラーだけど白黒画像を作ってみる。 #include <string> #include <opencv2/opencv.hpp> //画面をだすよ void display(cv::Mat image) { //名前をつける std::string windowName = "windowName"; cv::namedWindow(windowName</opencv2/opencv.hpp></string>…

OpenCVを使って真っ白な画像を作成する(0003)

真っ白な画面はすべてのチャンネルを255にする。 #include <string> #include <opencv2/opencv.hpp> //画面をだすよ void display(cv::Mat image) { //名前をつける std::string windowName = "windowName"; cv::namedWindow(windowName); //画面出た!! cv::imshow(windowName, imag</opencv2/opencv.hpp></string>…

OpenCVを使って真っ青な画像を作成する(0002)

まず真っ黒な画面を作成し、次に 真っ青な画像を作成する #include <string> #include <opencv2/opencv.hpp> //画面をだすよ void display(cv::Mat image) { //名前をつける std::string windowName = "windowName"; cv::namedWindow(windowName); //画面出た!! cv::imshow(windowName,</opencv2/opencv.hpp></string>…

OpenCVを使って真っ黒な画像を作成する(0001)

真っ黒な画像を作成する方法、すべてのピクセルが0つまり真っ黒 サイズは500x500。 #include <string> #include <opencv2/opencv.hpp> //画面をだすよ void display(cv::Mat image){ //名前をつける std::string windowName = "window"; cv::namedWindow(windowName); //画面出た</opencv2/opencv.hpp></string>…