最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Opencv 馬賽克和毛玻璃效果與圖片融合的實(shí)現(xiàn)

 更新時(shí)間:2021年11月19日 16:52:08   作者:il_持之以恒_li  
這篇文章主要為大家詳細(xì)介紹了通過OpenCV實(shí)現(xiàn)馬賽克和毛玻璃濾鏡效果與圖片的融合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1.馬賽克效果

馬賽克的基本原理就是,用某一個(gè)區(qū)域的某一個(gè)像素點(diǎn)替代這個(gè)區(qū)域所有的像素點(diǎn),從而導(dǎo)致圖片出現(xiàn)模糊的效果,如下:

import cv2


# 馬賽克效果
img = cv2.imread(filename='../anqila21.jpg',flags=1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
flag = 2   # 系數(shù),系數(shù)越小,馬賽克的效果越不明顯
for m in range(26,height):
    for n in range(140,880):
        if m%flag==0 and n%flag==0:
            for i in range(0,flag):
                for j in range(0,flag):
                    (b,g,r) = img[m,n]
                    img[i+m,j+n] = (b,g,r)

cv2.imshow('dst',img)
cv2.waitKey(0)

2. 毛玻璃效果

import cv2
import numpy as np
import random

# 毛玻璃效果
img = cv2.imread(filename='../anqila21.jpg',flags=1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
dst = np.zeros((height,width,3),np.uint8)
for i in range(height-8):
    for j in range(width-8):
        index = int(random.random()*8)  # 生成0-8之間的隨機(jī)數(shù)(不包括8)
        dst[i, j] = img[i+index,j+index]
cv2.imshow('dst',dst)
cv2.waitKey(0)

3. 圖片的融合

就是將兩張圖片融合到一張圖片上,即可看到第一張圖片的效果,也可以看到第二張圖片的效果。

import cv2

img_1 = cv2.imread(filename='../anqila21.jpg',flags=1)
img_2 = cv2.imread(filename='../huanghe.jpg',flags=1)
imgInfo = img_1.shape
height = imgInfo[0]
width = imgInfo[1]
# roi
roi = 0.5
dst = cv2.addWeighted(img_1,roi,img_2,(1-roi),0)
cv2.imshow('dst',dst)
cv2.waitKey(0)

算法實(shí)現(xiàn)

import cv2
import numpy as np

img_1 = cv2.imread(filename='../anqila21.jpg',flags=1)
img_2 = cv2.imread(filename='../huanghe.jpg',flags=1)
imgInfo = img_1.shape
height = imgInfo[0]
width = imgInfo[1]
# roi
roi = 0.5
dst = np.zeros((height,width,3),np.uint8)

for i in range(height):
    for j in range(width):
        (b1,g1,r1) = img_1[i,j]
        (b2,g2,r2) = img_2[i,j]
        dst[i,j] = (int(b1*roi+b2*(1-roi)),int(g1*roi+g2*(1-roi)),int(r1*roi+r2*(1-roi)))

cv2.imshow('dst',dst)
cv2.waitKey(0)

以上就是Opencv 馬賽克和毛玻璃效果與圖片融合的實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Opencv 的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++實(shí)現(xiàn)與Lua相互調(diào)用的示例詳解

    C++實(shí)現(xiàn)與Lua相互調(diào)用的示例詳解

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)與Lua相互調(diào)用的方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-03-03
  • C++數(shù)組模擬之單鏈表與雙鏈表和棧和隊(duì)列的實(shí)現(xiàn)過程

    C++數(shù)組模擬之單鏈表與雙鏈表和棧和隊(duì)列的實(shí)現(xiàn)過程

    這篇文章主要介紹了C++數(shù)組模擬之單鏈表與雙鏈表和棧和隊(duì)列的實(shí)現(xiàn)過程,了解內(nèi)部原理是為了幫助我們做擴(kuò)展,同時(shí)也是驗(yàn)證了一個(gè)人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會(huì)的,跟隨下文來具體了解吧
    2023-02-02
  • C 語言簡單加減乘除運(yùn)算

    C 語言簡單加減乘除運(yùn)算

    本篇文章主要介紹了C語言的基本運(yùn)算方法,這里對(duì)加法,減法,乘法,除法,求余數(shù),做了詳細(xì)講解,有需要的朋友可以參考下
    2016-07-07
  • C語言動(dòng)態(tài)內(nèi)存管理的實(shí)現(xiàn)

    C語言動(dòng)態(tài)內(nèi)存管理的實(shí)現(xiàn)

    本文主要介紹了C語言動(dòng)態(tài)內(nèi)存管理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C/C++產(chǎn)生指定范圍和不定范圍隨機(jī)數(shù)的實(shí)例代碼

    C/C++產(chǎn)生指定范圍和不定范圍隨機(jī)數(shù)的實(shí)例代碼

    C/C++產(chǎn)生隨機(jī)數(shù)用到兩個(gè)函數(shù)rand() 和 srand(),這里介紹不指定范圍產(chǎn)生隨機(jī)數(shù)和指定范圍產(chǎn)生隨機(jī)數(shù)的方法代碼大家參考使用
    2013-11-11
  • libevent庫的使用--定時(shí)器的使用實(shí)例

    libevent庫的使用--定時(shí)器的使用實(shí)例

    這篇文章主要介紹了libevent庫的使用--定時(shí)器的使用實(shí)例,有需要的朋友可以參考一下
    2013-12-12
  • C++11 簡單實(shí)現(xiàn)線程池的方法

    C++11 簡單實(shí)現(xiàn)線程池的方法

    這篇文章主要介紹了C++11 簡單實(shí)現(xiàn)線程池的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • C語言詳細(xì)分析浮點(diǎn)數(shù)在內(nèi)存中的儲(chǔ)存

    C語言詳細(xì)分析浮點(diǎn)數(shù)在內(nèi)存中的儲(chǔ)存

    我們在日常生活中和編程中都會(huì)用到小數(shù),比如:3.1415926、29.9、1E10(科學(xué)計(jì)數(shù)法也是浮點(diǎn)型)。在C語言中的浮點(diǎn)型類型有:float,double,long double。那么浮點(diǎn)數(shù)在這些浮點(diǎn)型的內(nèi)存之中又是如何儲(chǔ)存的呢,這就是今天我們要分享的
    2022-06-06
  • c++中map的基本用法和嵌套用法實(shí)例分析

    c++中map的基本用法和嵌套用法實(shí)例分析

    這篇文章主要介紹了c++中map的基本用法和嵌套用法,以實(shí)例形式分析了map容器的基本使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • C語言文件操作函數(shù)freopen詳細(xì)解析

    C語言文件操作函數(shù)freopen詳細(xì)解析

    替換一個(gè)流,或者說重新分配文件指針,實(shí)現(xiàn)重定向。如果stream流已經(jīng)打開,則先關(guān)閉該流。如果該流已經(jīng)定向,則freopen將會(huì)清除該定向。此函數(shù)一般用于將一個(gè)指定的文件打開一個(gè)預(yù)定義的流:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出或者標(biāo)準(zhǔn)出錯(cuò)
    2013-10-10

最新評(píng)論

长沙县| 霍州市| 新巴尔虎左旗| 宜州市| 澎湖县| 韶关市| 临漳县| 乌什县| 革吉县| 扎囊县| 壤塘县| 托克托县| 临城县| 玉溪市| 襄城县| 册亨县| 微山县| 神池县| 太康县| 兴仁县| 江油市| 房山区| 石城县| 内黄县| 沅江市| 青岛市| 独山县| 泾源县| 元朗区| 德昌县| 庆元县| 嘉荫县| 乌鲁木齐县| 达拉特旗| 乌兰浩特市| 全州县| 泾阳县| 分宜县| 澄迈县| 鹤壁市| 清原|