コンピューター技術の急速な発展に伴い、コンピューター ビジョンの分野は、ますます多くの Python プログラマーにとって関心のある分野となっています。この記事では、Python と OpenCV フレームワークを使用してコンピューター ビジョン サーバーを構築し、いくつかの基本的な画像処理機能を実装する方法を紹介します。
コンピューター ビジョン開発に OpenCV を使用するには、まず Python に OpenCV ライブラリをインストールする必要があります。インストール方法は多数ありますが、ここでは比較的簡単な方法を紹介します:
コマンド ラインに次のコマンドを入力します:
pip install opencv-python
さらに、次のような他の OpenCV モジュールをインストールすることも選択できます。 :
pip install opencv-contrib-python
次に、OpenCV を使用して、次のような基本的な画像処理関数を実装します。画像ファイルの読み取り
import cv2 # 读取图像文件 img = cv2.imread("test.jpg") # 显示图像 cv2.imshow("Original Image", img) # 转换图像格式 gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 显示灰度图像 cv2.imshow("Gray Image", gray_img) # 裁剪图像 cropped_img = img[100:400, 200:500] # 显示裁剪后的图像 cv2.imshow("Cropped Image", cropped_img) # 缩放图像 resized_img = cv2.resize(img, (800, 600)) # 显示缩放后的图像 cv2.imshow("Resized Image", resized_img) # 滤波图像 blur_img = cv2.GaussianBlur(img, (5, 5), 0) # 显示滤波后的图像 cv2.imshow("Blurred Image", blur_img) cv2.waitKey(0) cv2.destroyAllWindows()このコードは、「test.jpg」という名前の画像ファイルを読み取り、上記の基本的な画像処理関数を実装します。
Flask に基づくコンピューター ビジョン サーバーの構築
from flask import Flask, jsonify, request import cv2 app = Flask(__name__) @app.route('/') def index(): return "Welcome to the Computer Vision Server!" @app.route('/api/gray', methods=['POST']) def gray(): # 读取上传的图像文件 img_file = request.files['image'] img = cv2.imdecode(np.fromstring(img_file.read(), np.uint8), cv2.IMREAD_COLOR) # 转换图像格式为灰度 gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 将灰度图像转换为PNG格式,便于在web上显示 _, encoded_img = cv2.imencode('.png', gray_img) response = {'image': encoded_img.tobytes()} return jsonify(response) @app.route('/api/resize', methods=['POST']) def resize(): # 读取上传的图像文件 img_file = request.files['image'] img = cv2.imdecode(np.fromstring(img_file.read(), np.uint8), cv2.IMREAD_COLOR) # 获取传递的参数 width = int(request.form['width']) height = int(request.form['height']) # 缩放图像 resized_img = cv2.resize(img, (width, height)) # 将缩放后的图像转换为PNG格式,便于在web上显示 _, encoded_img = cv2.imencode('.png', resized_img) response = {'image': encoded_img.tobytes()} return jsonify(response) if __name__ == "__main__": app.run(debug=True, host='0.0.0.0')コードを実行し、サーバーを起動します。
テストサーバー
概要
以上がPython サーバー プログラミング: OpenCV を使用したコンピューター ビジョンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。