質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1454閲覧

手書き文字の判定 白黒反転? python opencv

lovely

総合スコア28

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/21 11:18

以下のホームページを読んでいたところ、下記のようなコードが書かれていました。

どうして白黒反転を行う必要があるのですか。試しに#1までのコードのみの関数predict_digit()を使って写真を出したところ、単純に真っ黒な写真が表示されてしまいました。

https://note.com/dngri/n/n63d597962b9e

Python

1import cv2 2from sklearn.externals import joblib 3 4def predict_digit(filename): 5   clf = joblib.load("digits.pkl") 6   my_img = cv2.imread(filename) 7   my_img = cv2.cvtColor(my_img, cv2.COLOR_BGR2GRAY) 8   my_img = cv2.resize(my_img,(8,8)) 9   #白黒反転する? 10   my_img = 15 - my_img // 16 11 #1 12   my_img = my_img.reshape((-1,64)) 13   res = clf.predict(my_img) 14   return res[0] 15 16n = predict_digit("test.jpg") 17print("test = " + str(n))

Python

1from sklearn.model_selection import train_test_split 2from sklearn import datasets,svm,metrics 3from sklearn.metrics import accuracy_score 4digits = datasets.load_digits() 5x = digits.images 6y = digits.target 7#二次元配列を一次元配列に変換 8x = x.reshape((-1,64)) 9# データを学習用とテスト用に分割する 10x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2) 11# データを学習 12clf = svm.LinearSVC() 13clf.fit(x_train, y_train) 14 15from sklearn.externals import joblib 16joblib.dump(clf, 'digits.pkl')

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lovely

2021/09/23 05:32

なるほど!「datasets.load_digits()」のデータが黒背景に白で数字を書いているのですね!!
lovely

2021/09/23 06:02

この式を見れば理解はできるのですが、自分で導き出せる気がしません。。 これは何か法則にのっとっているのですか?それとも数学に強くなるしかないのですか?
jbpb0

2021/09/25 10:04

最大値から画素値を引いたらネガポジ反転ができることは、あちこちに書かれてます たとえばこのあたり http://x105ai.blogspot.com/2017/02/negaposifilter.html https://spphire9.wordpress.com/2010/09/05/%E7%94%BB%E5%83%8F%E5%87%A6%E7%90%86%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E3%83%8D%E3%82%AC%E3%83%9D%E3%82%B8%E5%A4%89%E6%8F%9B/ 調べて何か見つかったら真似してみて、うまく行ったらなぜうまく行ったのかを考える、ということを繰り返してるうちにコツが掴めてくるのではないですかね
guest

回答1

0

ベストアンサー

どうして白黒反転を行う必要があるのですか。

学習に使った「scikit-learn」の「datasets.load_digits()」のデータに合わせるため
【技術記事】scikit-learnのdatasets.load_digitsしたデータの中身

投稿2021/09/25 09:59

jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問