文章目錄
- 前言
- 一、影象運算是什麼?
-
- 原圖:
- 二、操作步驟
-
- 1.引入庫
- 2.讀入資料
- 3.圖像操作:
- 4.顯示結果:
- 5.結果:
- 總結
前言
隨著人工智慧的不斷發展,opencv這門技術也越來越重要,很多人都開啟了學習opencv,本文就介紹了opencv的基礎內容。
提示:以下是本篇文章正文內容,下面範例可供參考
一、影象運算是什麼?
影象的基本運算:相加、相減、相乘、相除、位運算、平方根、對數、絕對值等;
影象也可以放大、縮小、旋轉,
還可以擷取其中的一部分作為ROI(感興趣區域)進行操作;
各個顏色通道還可以分別選取及對各個顏色通道進行各種運算操作。
· 學習影象上的算術運算,加法,減法,位運算等。
·相關函式:cv2.add(),cv2.addWeighted() 等。
原圖:
二、操作步驟
1.引入庫
程式碼如下:
1 2 3 4 5 | #!/usr/bin/env python # -*- coding: utf-8 -*- #author:Kong DeXing import cv2 import numpy as np |
2.讀入資料
程式碼如下:
1 | shengmi = cv2.imread("xiongchumo.jpg",0)#讀取圖像shengmi.jpg圖像 |
3.圖像操作:
程式碼如下:
1 2 3 4 5 6 7 8 | height,width = shengmi.shape #選取shengmi.jpg的height和width mask = np.zeros((height,width),dtype=np.uint8)#生成一個height和width相同的零矩陣 mask[50:160,90:200]= 255 #R0I感興趣區域等於255畫素點 key = np.random.randint(0,256,(height,width),dtype=np.uint8)#鑰匙等於xiongchumo.pnq jiami = cv2.bitwise_xor(shengmi,key)#第一次xoR加密 jiamiface = cv2.bitwise_and(jiami,mask)#使用位「與"運算來選取所需內容 noface = cv2.bitwise_and(shengmi,(255-mask))#使用位「與"運算來選取所需內容 final = jiamiface + noface #jiamiface和noface兩幅影象疊加 |
4.顯示結果:
程式碼如下:
1 2 3 4 5 6 7 8 9 | cv2.imshow("shengmi",shengmi)#顯示原圖1ena.bmp cv2.imshow("mask",mask)#顯示零矩陣中有ROI感興趣區域的圖像 cv2.imshow("key",key)#顯示key鑰匙灰度圖 cv2.imshow("jiami",jiami)#顯示1ena.bmp用key加密的圖像 cv2.imshow("jiamiface",jiamiface)#顯示電矩陣中有1ena.bmp臉用key加密的圖像 cv2.imshow("noface",noface)#顯示lena.bmp臉用零矩陣加密的圖像 cv2.imshow("final",final)#顯示1ena.bmp的臉用key加密的圖像 cv2.waitKey(0)#等待鍵盤輸入0 cv2.destroyAl1Windows()#摧毀所有視窗 |
5.結果:
程式碼如下:
總結
以上就是今天要講的內容,本文僅僅簡單介紹了opencv利用影象運算打碼所需圖像,而影象運算提供了大量能使我們快速便捷地處理資料的函式和方法。