ゆうき( @BASEBALLY15 )です^^

~前半~
このページでは6月の活動を,
『ほぼ』毎日投稿しています.

【15日】『輪郭追跡処理について調べました!』

(画像をクリックすると,画像の引用元を確認できます.)

今日は,『輪郭追跡処理』について調べました.

この処理を行うことで,指定した範囲の周辺長や幅・高さなどを求めることが出来ます.

自分自身が扱っている画像に対して,この手法が大いに使えるのではないかと思います^^

まだ完全に理解している訳ではないので,引き続きアルゴリズムを調べて,実装します.

それでは・・・

【14日】『メディアンフィルタのサイズを変えてみました!』

昨日調べていた方法で,メディアンフィルタを実装し直しました.

これで,自由にフィルタのサイズを変更することが出来るようになりました^^

実際にサイズを変えた結果が,上の4枚の画像です⤴

これを見ると,サイズを大きくすればするほど,白の中にある黒い部分が消えています^^

明日は,以前に実装した『ラベリング』のコードの修正と『輪郭追跡処理』について調べます!

それでは・・・

【13日】『メディアンフィルタをC言語で実装しました!』

以前に,C言語で『メディアンフィルタ』を実装していたのですが,フィルタの大きさを変える度に,コードを書き変える必要があったので,今日は,フィルタの大きさを自由に変えることができるコードを調べていました^^

//メディアンフィルタを作成するための関数
void median(unsigned char img_in[Y_SIZE][X_SIZE], unsigned char img_out[Y_SIZE][X_SIZE])
{
	int i, j;
	unsigned char c[49];


	for (j = 0; j < Y_SIZE; j++)
	{
		for (i = 0; i < X_SIZE; i++)
		{
			//--------------------------
			//7×7用(49マス)
			c[0] = img_in[j - 3][i - 3];
			c[1] = img_in[j - 3][i - 2];
			c[2] = img_in[j - 3][i - 1];
			c[3] = img_in[j - 3][i];
			c[4] = img_in[j - 3][i + 1];
			c[5] = img_in[j - 3][i + 2];
			c[6] = img_in[j - 3][i + 3];

			c[7] = img_in[j - 2][i - 3];
			c[8] = img_in[j - 2][i - 2];
			c[9] = img_in[j - 2][i - 1];
			c[10] = img_in[j - 2][i];
			c[11] = img_in[j - 2][i + 1];
			c[12] = img_in[j - 2][i + 2];
			c[13] = img_in[j - 2][i + 3];

			c[14] = img_in[j - 1][i - 3];
			c[15] = img_in[j - 1][i - 2];
			c[16] = img_in[j - 1][i - 1];
			c[17] = img_in[j - 1][i];
			c[18] = img_in[j - 1][i + 1];
			c[19] = img_in[j - 1][i + 2];
			c[20] = img_in[j - 1][i + 3];

			c[21] = img_in[j][i - 3];
			c[22] = img_in[j][i - 2];
			c[23] = img_in[j][i - 1];
			c[24] = img_in[j][i];
			c[25] = img_in[j][i + 1];
			c[26] = img_in[j][i + 2];
			c[27] = img_in[j][i + 3];

			c[28] = img_in[j + 2][i - 3];
			c[29] = img_in[j + 2][i - 2];
			c[30] = img_in[j + 2][i - 1];
			c[31] = img_in[j + 2][i];
			c[32] = img_in[j + 2][i + 1];
			c[33] = img_in[j - 2][i + 2];
			c[34] = img_in[j - 2][i + 3];

			c[35] = img_in[j + 2][i - 3];
			c[36] = img_in[j + 2][i - 2];
			c[37] = img_in[j + 2][i - 1];
			c[38] = img_in[j + 2][i];
			c[39] = img_in[j + 2][i + 1];
			c[40] = img_in[j - 2][i + 2];
			c[41] = img_in[j - 2][i + 3];

			c[42] = img_in[j + 2][i - 3];
			c[43] = img_in[j + 2][i - 2];
			c[44] = img_in[j + 2][i - 1];
			c[45] = img_in[j + 2][i];
			c[46] = img_in[j + 2][i + 1];
			c[47] = img_in[j - 2][i + 2];
			c[48] = img_in[j - 2][i + 3];
			//--------------------------


			img_out[j][i] = median_value(c);
		}
	}
}

上のコードの場合,7×7の画素の中で中央値を求めるのですが,これでは,サイズが大きくなる度にコードを増やしていかなければなりません.

仮に,21×21のサイズにしたい場合,かなりの長さのコードになります・・・

それはさすがに大変なので,明日は,今日調べたコードを実装しようと思います!

それでは・・・

【12日】『大学でプレゼンがありました!』

今日は,大学でプレゼンがありました.

毎月2回ほど行っているので,かなり慣れてきました^^

自分自身,人前で話すことが苦手で,今まで発表がある度に,頭が真っ白になっていました・・・

しかし,「このままではいけない!」,「プレゼンが上手くなりたい!」と強く思い,最近,TEDを見て勉強したり,練習するようになりました.

そのおかげで,少しずつではあるのですが,人前で話すことに抵抗が無くなってきました^^

今後も,プレゼンスキルを上げるために,日々積み重ねていこうと思います!

それでは・・・

【11日】『ラベリングの実装に成功しました!』

今まで,ラベリングの実装につまづいていたのですが,今日,ようやく実装に成功しました^^

上の画像がラベリングの出力結果です.

左下がラベルごとのピクセル数をヒストグラムで表したもので,右下がラベリング画像になります.

この結果を使って,最終的には,最もピクセル数が多いラベルのみを抽出したいと考えています^^

早速.明日から取り掛かります!

それでは・・・

【10日】『ラベリングの実装に成功しないです・・・』

最近,『ラベリング』について調べていて,C言語で実装しようとしているのですが,なかなか成功しません・・・

おそらくコード自体は合っていると思うのですが,画像のサイズの影響で,計算にかなりの時間が掛かってしまいます・・・

(※実行してから1時間経っても,ラベリング画像が出力されませんでした.)

今まで,1週間近くラベリングについて試行錯誤してきましたが,期待通りにいかないので,精神的につらいです・・・

身近にプログラミングに詳しい方がいるので,その方に相談しようと思います.

それでは・・・

【9日】『トレーニングジムへ行ってきました!』

最近,プログラミングで上手くいかず,ストレスが溜まっていたので,久しぶりにジムへ行ってきました.

トレーニング中はマスクを付けないといけないため,凄く息がしにくい状態でしたが,リフレッシュすることが出来ました^^

明日から,再びプログラミングに挑みます!

それでは・・・

【8日】『最近,株価の調子がいいですね!』

今年の5月に株式投資(投資信託)を始めました.

投資を始めてから約1カ月が経ち,現在,全世界株式のファンドに投資しているのですが,約10%の含み益が出ています^^

コロナウイルスの第二波の影響で,再び株価が下落するのではないかと思い,追加の投資を避けていたのですが,中々下がらないですね・・・

日本では,コロナウイルスの感染者数が少ないですが,世界ではまだ感染がひどいので,今後の株価の動向に注目していきます^^

それでは・・・

【7日】『初めて,自分の記事を引用して頂きました!』

ブログを始めて,約5カ月が経ち,初めて自分の記事が引用されました^^

某Q&Aのサイトで引用されて,自分の記事が役に立っていると思うと,とても嬉しいです!

ちなみに引用された記事は,上の記事です.

C言語関連の記事がネット上に少ないので,今後自分が増やしていこうと思います^^

それでは・・・

【5日】『Hough変換について調べました!』

最近,『ラベリング』の実装に挑戦していたのですが,なかなか思ったような結果が得られないので,一旦離れて『Hough変換』について調べています.

OpenCVを使うと一瞬で完成するのですが,仕組みを理解することが第一なので,今は辛抱して頑張ります!

また,今年はコロナの影響で大学に行くことが出来ず,直接先輩に聞くことができない状況なのですが,そのような時こそ,自分で調べる力をつけたいと思います^^

明日も引き続き,『Hough変換』について調べて,C言語で実装していきます!

それでは・・・

【3日】『ラベリングの実装につまづいています・・・』

今日も,『ラベリング』を実装しようとしたのですが,思ったような結果が得られませんでした・・・

ルックアップテーブル』を使おうとしていたのですが,大学の先輩から,もっと基礎的な方法を使った方がいいと言われました・・・

一応,参考となるコードを見せてもらったので,それを見つつ,自分でコードを書いていこうと思います!

明日中に完成させられるように頑張ります!!

それでは・・・

【2日】『ラベリングを実装してみましたが・・・』

お疲れ様です.

今日は,昨日に引き続き,C言語を使って『ラベリング』を実装しようと試みました.

が,しかし・・・

今日中に完成させることが出来ませんでした.

アルゴリズムを理解して,コードを書いていると思うのですが,なかなか思った結果が得られないです・・・

明日,明後日は十分時間があるので,絶対に完成させたいと思います!

それでは・・・

【1日】『画像処理-ラベリング-について調べました!』

今日はラベリングについて調べ,C言語で実装を試みたのですが,上手くいかなかったです・・・

以前にもラベリングについて調べていて,その時も上手くいかなかったので,明日は,基本的なところから調べていきます.

明日には完成させます!

それでは・・・

Q &A

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA