pythonを勉強し始めたものです。
自分で関数を作りif関数でtrueを出したときに
その関数の処理をさせたいのですがただそのまま三角が動作してしまいます。
3を認識していなくとも処理してしまいます。
# -*- coding: utf-8 -*- ############################################################################### # ライブラリインポート ############################################################################### import os # os の情報を扱うライブラリ from PIL import Image # 画像処理ライブラリ import matplotlib.pyplot as plt # データプロット用ライブラリ import numpy as np # データ分析用ライブラリ import pyocr # OCR ラッパーライブラリ 対応OCR:Tesseract, Cuneiform import pyocr.builders # OCR ラッパーライブラリ 対応OCR:Tesseract, Cuneiform import sys # 実行環境関連ライブラリ import tkinter.filedialog import 三角 # カレントディレクトリを変更する os.chdir(r"C:\Users\shunsuke\Desktop\python\テスト紙") Image000 = "3.png" tools = pyocr.get_available_tools() if len(tools) == 0: print("No OCR tool found") sys.exit(1) tool = tools[0] #################### 画像の読み込み #################### img = Image.open(Image000) txt = tool.image_to_string( img, lang="eng", builder=pyocr.builders.TextBuilder(tesseract_layout=6) ) # 画像を配列に変換 im_list = np.array(img) # データプロットライブラリに貼り付け plt.imshow(im_list) # 表示 plt.show() # 抽出したテキストの出力 txt = True if "3": 三角() else: print("fhf")
#! python3 # resizeAndAddLogo.py import os from PIL import Image SQUARE_FIT_SIZE = 578# LOGO_FILENAME = "sankaku.png" # logo_im = Image.open(LOGO_FILENAME) # logo_width,logo_height = logo_im.size # os.makedirs('sankaku',exist_ok=True) # カレントディレクトリの全画像をループする for filename in os.listdir('.'): # if not (filename.endswith('.png') or filename.endswith('.jpg'))\ or filename == LOGO_FILENAME:# continue # 画像以外とロゴ画像はスキップする # im = Image.open(filename) # #画像サイズ変更する im.thumbnail((SQUARE_FIT_SIZE,SQUARE_FIT_SIZE))
二個目のコードが三角です
ちなみに中身としては「文字認識をさせて、3を認識したら
関数三角を動作させる。」
感じです
どうぞお願いします。
環境はwin10 64bit python3.7
三角()の関数の定義が見当たりませんが、どうなってますか。
それから、どうもうまくいきません、というのはどういう状態ですか。エラーメッセージが出ているならそれも書いてください。そうではなく、意図しない結果が出るならそれを明記してください。
「if "3":」でifの条件"3"はFalseと一致しないので、常に条件にあった場合のように動作します。
つまり、いつも「三角()」という関数が実行されるプログラムになっています。その前のOCRで画像から文字列を得た結果を変数txtに入れたのも、if文の前に"txt=True"としているので、無駄になってしまっています。何がしたかったのかが判らないので、助言のしようもありません。 もっと、うぅぅんと簡単な例から始めてはどうでしょうか。