OpenCV給圖像添加標尺


我朋友給了我一些圖片,想讓我幫他加上圖例。最開始我的思路是先對其中的一個有標尺的圖像做閾值處理,清楚掉圖像其它信息,只留下標尺。並以這個圖像做模板,把它添加到其它沒有標尺的圖像中。我的操作如下:

import cv2

mask = cv2.imread('maskk.jpg')#讀入掩碼圖像
image = cv2.imread('process/Z0-1 400-4.jpg')

image = cv2.add(image, mask)

cv2.imwrite('Z0-1 400-4.jpg',image) #保存圖像

其中maskk掩碼圖像是通過畫圖軟件,去掉標尺以外的圖像信息,也可以使用語句生成掩碼圖像:mask[mask <220] = 0 (將maskk中像素值低於220的所有像素重新賦值為0,這個有點類似於閾值分割)。需要說明的一點是:

image = cv2.add(image, mask)

該語句將圖像image與掩碼圖像像素值對應相加,因為標尺是白色,背景是黑色,這樣相加后mask圖像中的標尺會出現在image中,而圖像中其它位置信息不會受到干擾。

在Python中還有一種圖像疊加方式:image = image + mask。這種形式相加時如果對應像素值之和大於255則會出現溢出現象,如像素值之和為 260,最終得到的像素值為4,其運算過程為260 % 256 = 4。

 

     掩碼圖像           輸入圖像           輸出圖像_示例


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM