2021年11月18日SHAREツイートシェアはてブLINEPocket少し前から100本ノック系の話が界隈で盛り上がっていたので(今更感満載ですが)やってみようかと思っていたところこちらの記事を発見。Python関係の「○○100本ノック」のまとめとりあえず仕事で画像処理をやろうと思っていたので画像処理100本ノックからやってみようと思いました。今後、頭の整理がてら内容を投稿していこうと思います。いうわけで今回はチュートリアルのみ。※あくまで個人の備忘録的な内容のため、内容を知りたい方は本家を見るのが丁寧かつわかりやすいです。Colabで進めており、チュートリアルにも記載がありますが、画像の表示周りで以下の記事に大変助けられました。Colaboratory」で楽々学習この場を借りてお礼申し上げます。チュートリアルをやってみるチュートリアルは基本的に以下の手順で進んでいきます。画素値の反転この記事内でも上記手順で進めていきます。Colaboratoryを使うのでまず必要な画像のダウンロードからしていきます。https://raw.githubusercontent.com/yoyoyo-yo/Gasyori100knock/master/Tutorial/imori.jp画像がダウンロードできたら次は必要なライブラリのインポートをしていきます。pltこれで一旦チュートリアルを進めるのに必要な画像のダウンロードとライブラリのインポートは終了です。次はダウンロードした画像の読み込みと表示を行っていきます。Colaboratoryを使う場合は、この画像の表示がチュートリアル通りだと動かないので気をつけてください。いうものの正直私もなぜチュートリアル通りだと動かないのか、書き換えたコードだとなぜ表示されるのか、というところについてはあまり理解できていません...。このあたりは整理して備忘録のブログを書こうと思います。コードを見ている感じだと、おそらくチュートリアル通りにやると新しくウィンドウがポップアップして画像が表示されるんじゃないかと思っています。ColaboratoryはUbuntuなので新規でウィンドウが立ち上がったりすることはありません。そのため、コードの書き換えられが必要なんだと思います。uint8shpaeにある128というのは縦が128ピクセル横が128ピクセルということです。最後の3という数字は色の情報で青、緑、赤の3チャネルだということを表しています。dtypeでは画像の型を取得することができます。上にあるuint8というのは符号なしのint型で8bitということを意味しています。画像にする際には必ずこの型にしないと画像がおかしくなってしまうそうなので気を付けなければいけません。画像を表示する際にはpltのimshowを使います。cv2.COLOR_BGR2RGB))axisをoffにすることで目盛りを消すことができますが好みなのでどちらでも良いと思います。画像をいじる際には以下の手順に則っていじるのが良いそうです。画像を読み込む型を一度小数点型に変換する画像をいじる画素が0未満のものは0、255を超えたものについては255に直す小数点型に変換した型をuint8に変換して表示・保存する。良いそうです、と言いながらも小数点型に変換する必要性が今のところあまり分かっていません...。この辺りは理解した時点で追記していきたいと思います。画素の変更では実際に読み込んだ画像の画素値を確認してみたいと思います。今回はx=50、y=80の画素値を見てみたいと思います。80]以下のように表示されたはずです。dtype=uint8)表示されるのは色の情報でBGRの順番で並んでいます。この画素値の青色の値を取ってみましょう。青色なのでインデックス番号0を指定してあげることで取得することができます。0]196という数値が取得できたかと思います。ここまではウォーミングアップ的な内容なので次は実際に画素値を変更してみましょう。次のコードで画像の左上1/4を黒く塗りつぶしてみます。0画像は縦横ともに128ピクセルですので64と指定することによって画像の左上1/4を黒く塗りつぶすことができます。画像のコピーにはcopy()を使いましょう。これは特に画像に限って話ではないので大丈夫でしょう。画像の保存はimwriteを使います。第1引数に保存するファイル名、第2引数に保存する画像を指定すればOKです。正常に保存ができればTrueと表示されるはずです。最後に読み込んだ画像の緑と赤の画素値を反転させて終わります。cv2.COLOR_BGR2RGB))これで左上1/4が緑色と赤色が反転した画像が出てきたはずです。緑青赤(0,1,2)の順番で並んでいるので緑と赤を入れ替える(2,1,0)と色が反転するということですね。今回のチュートリアルの内容については以上になります。次回からは一本ずつ記事にしていく予定ですのでよろしくお願いします。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。基礎代謝・マクロ栄養素計算機、これであなたの基準値がわかる次の記事G検定(2021#3)合格したので勉強方法など。便利?なエ...プロフィールpythonとかgoとか書いたりしながら数字を見ている人です。システム開発とかデータ分析のこととか書きます(予定)。deniedが出たgit管理していないフォルダを後からリモートリポジトリに追加する方法G検定(2021#3)合格したので勉強方法など。便利?なエクセルあり。