Cara melakukan pemprosesan dan pengecaman imej dalam Python
Abstrak:
Teknologi moden telah menjadikan pemprosesan dan pengecaman imej sebagai alat penting dalam banyak bidang. Python ialah bahasa pengaturcaraan yang mudah dipelajari dan digunakan dengan pemprosesan imej yang kaya dan perpustakaan pengecaman. Artikel ini akan memperkenalkan cara menggunakan Python untuk pemprosesan dan pengecaman imej, serta memberikan contoh kod khusus.
Contoh 1: Penskalaan imej
from PIL import Image # 打开图像 image = Image.open("image.jpg") # 缩放图像 resized_image = image.resize((500, 500)) # 保存图像 resized_image.save("resized_image.jpg")
Contoh 2: Skala kelabu imej
from PIL import Image # 打开图像 image = Image.open("image.jpg") # 灰度化 grayscale_image = image.convert("L") # 保存图像 grayscale_image.save("grayscale_image.jpg")
Contoh 3: Pengecaman Wajah
import cv2 # 加载人脸识别模型 face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml") # 打开图像 image = cv2.imread("image.jpg") # 将图像转换为灰度 gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 人脸检测 faces = face_cascade.detectMultiScale(gray_image, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) # 绘制人脸框并显示图像 for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) cv2.imshow("Face Detection", image) cv2.waitKey(0) cv2.destroyAllWindows()
Contoh 4: Klasifikasi Imej
import cv2 import numpy as np # 加载图像分类模型和标签 net = cv2.dnn.readNetFromCaffe("deploy.prototxt", "model.caffemodel") labels = ["cat", "dog", "bird"] # 打开图像 image = cv2.imread("image.jpg") # 预处理图像 blob = cv2.dnn.blobFromImage(cv2.resize(image, (224, 224)), 1.0, (224, 224), (104.0, 177.0, 123.0)) # 输入图像到神经网络 net.setInput(blob) predictions = net.forward() # 获取预测结果 prediction_idx = np.argmax(predictions) prediction_label = labels[prediction_idx] # 显示预测结果 cv2.putText(image, prediction_label, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2) cv2.imshow("Image Classification", image) cv2.waitKey(0) cv2.destroyAllWindows()
Kesimpulan:
Python menyediakan banyak perpustakaan pemprosesan dan pengecaman imej yang menjadikan pemprosesan dan pengecaman imej mudah dan cekap. Melalui contoh kod dalam artikel ini, pembaca boleh belajar cara menggunakan Python untuk penskalaan imej, skala kelabu, pengecaman muka dan klasifikasi imej. Pembaca boleh mengkaji lebih lanjut dan melanjutkan contoh ini mengikut keperluan untuk melaksanakan aplikasi pemprosesan dan pengecaman imej yang lebih kompleks dan kaya.
Atas ialah kandungan terperinci Bagaimana untuk melakukan pemprosesan dan pengecaman imej dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!