Heim > Artikel > Backend-Entwicklung > Python-Serverprogrammierung: Computer Vision mit OpenCV
Mit der rasanten Entwicklung der Computertechnologie ist der Bereich Computer Vision für immer mehr Python-Programmierer zu einem Problemfeld geworden. In diesem Artikel wird erläutert, wie Sie mit Python und dem OpenCV-Framework einen Computer-Vision-Server erstellen, um einige grundlegende Bildverarbeitungsfunktionen zu implementieren.
Um OpenCV für die Computer-Vision-Entwicklung zu verwenden, müssen Sie zunächst die OpenCV-Bibliothek in Python installieren. Es gibt viele Installationsmethoden, hier ist eine relativ einfache Methode:
Geben Sie den folgenden Befehl in die Befehlszeile ein:
pip install opencv-python
Darüber hinaus können Sie auch andere OpenCV-Module installieren, z. B.:
pip install opencv-contrib-python
Als nächstes werden wir OpenCV verwenden, um einige grundlegende Bildverarbeitungsfunktionen zu implementieren, wie zum Beispiel:
Das Folgende ist die Code-Implementierung:
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()
Dieser Code liest die Bilddatei mit dem Namen „test.jpg“ und implementiert die oben genannten grundlegenden Bildverarbeitungsfunktionen.
Als nächstes verwenden wir Flask, das Python-Webframework, um einen einfachen Computer-Vision-Server zu erstellen und die oben genannten Bildverarbeitungsfunktionen in Form einer API-Schnittstelle zu kapseln.
Das Folgende ist die Code-Implementierung:
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')
Führen Sie den Code aus und starten Sie den Server.
Wir können POST-Anfragen verwenden, um die API-Schnittstelle zu testen, die wir gerade auf dem Server erstellt haben.
Zum Beispiel können wir Postman verwenden, um ein Bild an den Server zu senden und die Schnittstelle „/api/gray“ aufzurufen, um das Bild in Graustufen zu konvertieren.
Ähnlich können wir auch die Schnittstelle „/api/resize“ aufrufen, um die Größe des Bildes zu ändern.
Mit der oben genannten Methode können wir die API-Schnittstelle des Computer-Vision-Servers einfach testen und serverseitige Bildverarbeitungsfunktionen implementieren.
Dieser Artikel stellt vor, wie man einen Computer-Vision-Server mit Python und dem OpenCV-Framework erstellt. Durch die Kapselung grundlegender Bildverarbeitungsfunktionen in API-Schnittstellen können Benutzer diese Funktionen problemlos im Web aufrufen. Gleichzeitig verfügt die Computer-Vision-Technologie über ein breites Anwendungsspektrum, und wir können diese Technologien in vielen Bereichen anwenden, z. B. bei der Bilderkennung, der intelligenten Überwachung usw.
Das obige ist der detaillierte Inhalt vonPython-Serverprogrammierung: Computer Vision mit OpenCV. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!