opencv图像处理
生活随笔
收集整理的這篇文章主要介紹了
opencv图像处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#coding=utf-8
import cv2
import numpy as npimg1 = cv2.imread("3.jpg")
img2 = cv2.imread("4.jpg")
#圖像大小不同不能合并,因此裁剪一下
img1 = img1[0:180,0:180]
img2 = img2[0:180,0:180]img = img1 + img2
#這種圖像加法與前面的一種不同之處在于,如果所加的和大于255,那就按255處理,所以看起來會白一些
add = cv2.add(img1,img2)
#帶權值的加法
weight = cv2.addWeighted(img1,0.6,img2,0.4,0)cv2.imshow('image',img)
cv2.imshow('add',add)
cv2.imshow('weight',weight)
cv2.waitKey (0)
cv2.destroyAllWindows()
?
——
——
?
#coding=utf-8 import cv2 import numpy as npimg1 = cv2.imread("0.jpg") img2 = cv2.imread("1.jpg")# img2 = img2[0:180,0:180] #在圖一中找到和圖二大小一樣的那塊區域 rows,cols,channels = img2.shape roi = img1[0:rows,0:cols] #轉換為灰度圖像 img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY) #隔離圖像上像素的邊緣,僅與圖像有關(即圖像的白色區域剔除),下面函數將大于220像素的值置為0,小于的置為255 ret,mask = cv2.threshold(img2gray,220,255,cv2.THRESH_BINARY_INV) #通過反轉上面的圖像創建掩碼(因為不希望背景影響疊加) mask_inv = cv2.bitwise_not(mask) #使用位“與”運算來提取面具精確的邊界 #取ROI中與mask中不為零的值對應的像素的值,其讓值為0 img1_bg = cv2.bitwise_and(roi,roi,mask=mask_inv) #取roi中與mask_inv中不為零的值對應的像素的值,其他值為0 img2_fg = cv2.bitwise_and(img2,img2,mask=mask) #重合圖像 dst = cv2.add(img1_bg,img2_fg) img1[0:rows,0:cols] = dstcv2.imshow('img2gry',img2gray) cv2.imshow('mask',mask) cv2.imshow('mask_inv',mask_inv) cv2.imshow('img1_bg',img1_bg) cv2.imshow('img2_fg',img2_fg) cv2.imshow('dst',dst) cv2.imshow('res',img1)cv2.waitKey (0) cv2.destroyAllWindows()原圖:
最終效果圖:
https://www.kancloud.cn/aollo/aolloopencv/263215
http://blog.csdn.net/u011028345/article/details/77278467
?
轉載于:https://www.cnblogs.com/cunyusup/p/8537154.html
總結
以上是生活随笔為你收集整理的opencv图像处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C 语言实例 - 计算自然数的和
- 下一篇: HashSet源码分析 jdk1.6