Python是一種高級編程語言,不僅具備豐富的語法和強大的功能,還能讓我們創造出各種有趣的程序,例如用Python畫素描。
import cv2 # 加載原始圖像 img = cv2.imread("test.jpg") # 轉換為灰度圖像 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 使用高斯濾波平滑圖像 gray = cv2.GaussianBlur(gray, (7, 7), 0) # 檢測邊緣并將其轉換為黑白圖像 edges = cv2.Canny(gray, 30, 150) edges = cv2.bitwise_not(edges) # 將圖像縮小,生成一個小畫布 height, width = edges.shape[:2] max_dimension = max(height, width) scale = 400 / max_dimension resized = cv2.resize(edges, (int(scale * width), int(scale * height))) # 將圖像變為半色調圖像 dots = cv2.ximgproc.thinning(resized) dots = cv2.bitwise_not(dots) # 顯示結果 cv2.imshow("Dots", dots) cv2.waitKey(0) cv2.destroyAllWindows()
上述代碼中,我們首先使用cv2庫加載一張圖片,并轉換為灰度圖像。接著,使用cv2.GaussianBlur函數平滑圖像,使得圖像中的邊緣更加平滑。通過cv2.Canny函數檢測圖像中的邊緣,并將其轉換為黑白圖像。然后,我們根據圖像的大小,生成一個小畫布,把圖像縮小后生成一個半色調圖像,最后通過cv2.imshow函數顯示結果。
圖像處理是Python中非常有趣和受歡迎的一個領域,我們可以用Python來做各種有趣的事情,如畫素描、識別物體和人臉等。