国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

OpenCV python 學習筆記(三)

2019-11-08 02:54:01
字體:
來源:轉載
供稿:網友

不多說,直接上代碼:

# -*- coding:utf-8 -*-# 圖像上的算數運算#   目標:#       學習圖像上的算術運算,加法、減法、位運算#       主要函數:cv2.add()、cv2.addWeighted()等import cv2import numpy as np# 圖像上的加法# 大致有兩種:#       cv2.add():這是一個飽和操作#       +:這是Numpy中的運算,之一種模操作,res = img1 + img2# 注意兩幅圖片的大小類型必須一致,或者第二個圖象是一個標量# 由于兩者的差別,我們一般多用cv2.add(src1, src2)## x = np.uint8([250])# y = np.uint8([10])## PRint x+y# print cv2.add(x,y)# # [4]           解釋:(250+10)%255                     這是模運算# # [[255]]       解釋:(250+10)>255?255:(250+10)        這是飽和運算# 圖像的混合# 原理:也是加法,只是權重不同,給人一種混合的或者透明的感覺# 公式:g(x) = (1-a)*f0(x) + a*f1(x)       a→(0,1)不同的a值可以實現不同的效果# dist = a*img1+(1-a)*img2+y              cv2.addWeighted(img1, a, img2, (1-a), y)# img1 = cv2.imread("01.jpg")# img2 = cv2.imread("02.jpg")## if img1.size == img2.size and img1.dtype == img2.dtype:#     res = cv2.addWeighted(img1, 0.5, img2, 0.5, 5)#     cv2.namedWindow("show", cv2.WINDOW_NORMAL)#     cv2.imshow("show", res)#     if cv2.waitKey(0) == 27:#         cv2.destroyAllWindows()# # 效果很贊# 按位運算# 問題:如何將一個圖放到另一個圖上去,加法會改變顏色,混加會透明# 解決:按位運算# img = cv2.imread("TestOpencv.jpg", cv2.IMREAD_COLOR)# img1 = cv2.imread("01.jpg")# img2 = img[120:320, 300:450]## rows, cols, channels = img2.shape# roi = img1[0:rows, 0:cols]## gray_img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)                      # 將圖片灰度化# ret, mask = cv2.threshold(gray_img2, 175, 255, cv2.THRESH_BINARY)       # 不了解# mask_inv = cv2.bitwise_not(mask)                                        # 按位運算# img1_bg = cv2.bitwise_and(roi, roi, mask = mask)                        # 同上# img2_fg = cv2.bitwise_and(img2,img2,mask = mask_inv)                    # 同上## dst = cv2.add(img1_bg,img2_fg)# img1[0:rows, 0:cols] = dst## cv2.imshow("show", img2_fg)# cv2.waitKey(0)# cv2.destroyAllWindows()# 練習:創建一個幻燈片,來演示如何將一幅圖平滑轉換到另一幅圖,使用函數cv2.addWeighted()import timestep_list = [0.02 * x for x in range(0, 51)]img1 = cv2.imread("01.jpg")img2 = cv2.imread("02.jpg")cv2.imshow("show", img1)for i in step_list:    res = cv2.addWeighted(img1, i, img2, (1-i), 0)    cv2.imshow("show", res)    cv2.waitKey(60)if cv2.waitKey(0) ==27:    # 按'Esc'退出    cv2.destroyAllWindows()
# ret, mask = cv2.threshold(gray_img2, 175, 255, cv2.THRESH_BINARY)       # 不了解

我不是很了解,望解答(自勉)這次把兩張圖片也上傳


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博爱县| 科尔| 定襄县| 洞头县| 颍上县| 吴江市| 泰兴市| 临汾市| 阳曲县| 泾源县| 桂东县| 万全县| 新疆| 南乐县| 罗平县| 博湖县| 吐鲁番市| 新乡县| 漳州市| 定西市| 滁州市| 彩票| 和政县| 丁青县| 道孚县| 佛学| 延安市| 柳州市| 敦煌市| 民县| 临颍县| 北辰区| 辛集市| 塔河县| 通化市| 平潭县| 正宁县| 金坛市| 剑河县| 万宁市| 和顺县|