婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python-opencv 中值濾波{cv2.medianBlur(src, ksize)}的用法

python-opencv 中值濾波{cv2.medianBlur(src, ksize)}的用法

熱門標簽:南陽打電話機器人 ai電銷機器人的優勢 地圖標注自己和別人標注區別 孝感營銷電話機器人效果怎么樣 商家地圖標注海報 聊城語音外呼系統 打電話機器人營銷 騰訊地圖標注沒法顯示 海外網吧地圖標注注冊

python-opencv 中值濾波{cv2.medianBlur(src, ksize)}

中值濾波將圖像的每個像素用鄰域 (以當前像素為中心的正方形區域)像素的 中值 代替 。與鄰域平均法類似,但計算的是中值

#用中值法
for y in xrange(1,myh-1):
    for x in xrange(1,myw-1):
        lbimg[y,x]=np.median(tmpimg[y-1:y+2,x-1:x+2]

下面調用opencv的函數

# -*- coding: utf-8 -*-   
#code:myhaspl@myhaspl.com
#中值濾波
import cv2
import numpy as np
fn="test3.jpg"
myimg=cv2.imread(fn)
img=cv2.cvtColor(myimg,cv2.COLOR_BGR2GRAY)
#加上椒鹽噪聲
#灰階范圍
w=img.shape[1]
h=img.shape[0]
newimg=np.array(img)
#噪聲點數量
noisecount=50000
for k in xrange(0,noisecount):
    xi=int(np.random.uniform(0,newimg.shape[1]))
    xj=int(np.random.uniform(0,newimg.shape[0]))
    newimg[xj,xi]=255
#濾波去噪
lbimg=cv2.medianBlur(newimg,3)
cv2.imshow('src',newimg)
cv2.imshow('dst',lbimg)
cv2.waitKey()
cv2.destroyAllWindows()       

中值濾波忽略了較高階灰度和較低階灰度,直接取中值,因此有效得過濾椒鹽噪聲。

對高斯噪聲的濾波

用scipy.signal中值濾波

中值濾波技術能有效抑制噪聲,通過把數字圖像中一點的值用該點周圍的各點值的中位數來代替,讓這些值接近,以消除原圖像中的噪聲。

*模擬中值濾波

>>> import random
>>> import numpy as np
>>> import scipy.signal as signal
>>> x=np.arange(0,100,10)
>>> random.shuffle(x)
>>> x
array([70, 80, 30, 20, 10, 90,  0, 60, 40, 50])
>>> signal.medfilt(x,3) #一維中值濾波
array([ 70.,  70.,  30.,  20.,  20.,  10.,  60.,  40.,  50.,  40.])

signal的medfilt()方法傳入兩個參數,第一個參數是要作中值濾波的信號,第二個參數是鄰域的大小(奇數)。如鄰域為3即是每個點自己和左右各一個點成為一個鄰域。在每個位置的鄰域中選取中位數替換這個位置的數,也就是該函數的返回值數組。如果鄰域中出現沒有元素的位置,那么以0補齊。

>>> x=np.random.randint(1,1000,(4,4))
>>> x
array([[ 31,  33, 745, 483],
       [331, 469, 804, 479],
       [235, 487, 244, 982],
       [857, 114, 167, 174]])
>>> signal.medfilt(x,(3,3)) #二維中值濾波
array([[   0.,   33.,  469.,    0.],
       [  33.,  331.,  483.,  479.],
       [ 235.,  331.,  469.,  174.],
       [   0.,  167.,  167.,    0.]])

二維中值濾波還可以用signal.medfilt2d(),速度較快,但只支持int8,float32和float64。

*對圖像中值濾波 (這個代碼我還沒試,如果出現問題可以懷疑是代碼的問題)

import numpy as np
from PIL import Image
import scipy.signal as signal
im=Image.open('test.jpg') #讀入圖片并建立Image對象im
data=[] #存儲圖像中所有像素值的list(二維)
width,height=im.size #將圖片尺寸記錄下來
#讀取圖像像素的值
for h in range(height): #對每個行號h
    row=[] #記錄每一行像素
    for w in range(width): #對每行的每個像素列位置w
        value=im.getpixel((h,w)) #用getpixel讀取這一點像素值
        row.append(value)#把它加到這一行的list中去
    data.append(row) #把記錄好的每一行加到data的子list中去,就建立了模擬的二維list
data=signal.medfilt(data,kernel_size=3) #二維中值濾波
data=np.int32(data) #轉換為int類型,以使用快速二維濾波
#創建并保存結果
for h in range(height): #對每一行
    for w in range(width): #對該行的每一個列號
        im.putpixel((h,w),tuple(data[h][w])) #將data中該位置的值存進圖像,要求參數為tuple
im.save('result.jpg')#存儲

opencv中值濾波medianBlur

中值濾波是一種典型的非線性濾波,是基于排序統計理論的一種能夠有效抑制噪聲的非線性信號處理技術,基本思想是用像素點鄰域灰度值的中值來代替該像素點的灰度值,讓周圍的像素值接近真實的值從而消除孤立的噪聲點。該方法在取出脈沖噪聲、椒鹽噪聲的同時能保留圖像的邊緣細節。這些優良特性是線性濾波所不具備的。

中值濾波首先也得生成一個濾波模板,將該模板內的各像素值進行排序,生成單調上升或單調下降的二維數據序列,二維中值濾波輸出為g(x, y)=medf{f(x-k, y-1),(k, l∈w)},其中f(x,y)和g(x,y)分別是原圖像和處理后圖像, w為輸入的二維模板,能夠在整幅圖像上滑動,通常尺寸為3*3或5*5區域,也可以是不同的形狀如線狀、圓形、十字形、圓環形等。通過從圖像中的二維模板取出奇數個數據進行排序,用排序后的中值取代要處理的數據即可。

中值濾波對消除椒鹽噪聲非常有效,能夠克服線性濾波器帶來的圖像細節模糊等弊端,能夠有效保護圖像邊緣信息,是非常經典的平滑噪聲處理方法。在光學測量條紋圖像的香味分析處理方法中有特殊作用,但在條紋中心分析方法中作用不大。

中值濾波相較于線性濾波中的均值濾波優點在前面已經提到,取得良好濾波效果的代價就是耗時的提升,可能達到均值濾波的數倍,而且對于細節較多的圖像也不太適用。

opencv中提供了medianBlur()函數實現了中值濾波操作,其原型如下:

C++: void medianBlur(InputArray src, OutputArray dst, int ksize)

參數解釋:

. InputArray src: 輸入圖像,圖像為1、3、4通道的圖像,當模板尺寸為3或5時,圖像深度只能為CV_8U、CV_16U、CV_32F中的一個,如而對于較大孔徑尺寸的圖片,圖像深度只能是CV_8U。

. OutputArray dst: 輸出圖像,尺寸和類型與輸入圖像一致,可以使用Mat::Clone以原圖像為模板來初始化輸出圖像dst

. int ksize: 濾波模板的尺寸大小,必須是大于1的奇數,如3、5、7……

示例程序:

#include iostream>
#include opencv2/core.hpp>
#include opencv2/highgui.hpp>
#include opencv2/imgproc.hpp>
using namespace std;
using namespace cv;
//定義全局變量
Mat g_mSrcImage;
Mat g_mDstImage;
const int g_nMedianBlurMaxValue = 5;
int g_nMedianBlurValue;
int g_nkernelSize;
//定義回調函數
void on_medianBlurTrackBar(int, void*);
int main()
{
    g_mSrcImage = imread("lena.jpg");
    //判斷文件是否加載成功
    if(g_mSrcImage.empty())
    {
        cout  "圖像加載失敗!"  endl;
        return -1;
    }
    else
        cout  "圖像加載成功!"  endl;
    //判斷圖像是否是CV_8U圖像
    if(0 = g_mSrcImage.depth() = 255)
        cout  "加載圖像符合處理要求!"  endl;
    else
    {
        cout  "圖像深度不是CV_8U,程序即將退出..."  endl;
        return -1;
    }
    namedWindow("原圖像", WINDOW_AUTOSIZE);
    imshow("原圖像", g_mSrcImage);
    //輸出圖像窗口屬性及軌跡條名稱
    namedWindow("中值濾波圖像", WINDOW_AUTOSIZE);
    char medianBlurName[20];
    sprintf(medianBlurName, "核函數尺寸 %d", g_nMedianBlurMaxValue);
    g_nMedianBlurValue = 1;
    //創建軌跡條
    createTrackbar(medianBlurName, "中值濾波圖像", g_nMedianBlurValue,
                    g_nMedianBlurMaxValue, on_medianBlurTrackBar);
    on_medianBlurTrackBar(g_nMedianBlurValue, 0);
    waitKey(0);
    return 0;
}
void on_medianBlurTrackBar(int, void*)
{
    //重新計算尺寸值,尺寸值應為大于1的奇數
    g_nkernelSize = g_nMedianBlurValue * 2 + 1;
    medianBlur(g_mSrcImage, g_mDstImage, g_nkernelSize);
    imshow("中值濾波圖像", g_mDstImage);
}

運行結果:

程序說明:

對于程序中對圖像深度的判斷根據如下標準:

    CV_8U - 8-bit unsigned integers ( 0..255 )
    CV_8S - 8-bit signed integers ( -128..127 )
    CV_16U - 16-bit unsigned integers ( 0..65535 )
    CV_16S - 16-bit signed integers ( -32768..32767 )
    CV_32S - 32-bit signed integers ( -2147483648..2147483647 )
    CV_32F - 32-bit floating-point numbers ( -FLT_MAX..FLT_MAX, INF, NAN )
    CV_64F - 64-bit floating-point numbers ( -DBL_MAX..DBL_MAX, INF, NAN )

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • opencv 圖像濾波(均值,方框,高斯,中值)
  • opencv3/C++圖像濾波實現方式
  • python+opencv實現高斯平滑濾波
  • 理想高通濾波實現Python opencv示例
  • opencv+python實現均值濾波
  • opencv實現輪廓高斯濾波平滑
  • OpenCV-Python實現圖像梯度與Sobel濾波器
  • opencv實現圖像濾波之雙邊濾波

標簽:六盤水 南寧 牡丹江 撫州 揚州 迪慶 楊凌 聊城

巨人網絡通訊聲明:本文標題《python-opencv 中值濾波{cv2.medianBlur(src, ksize)}的用法》,本文關鍵詞  python-opencv,中值,濾波,cv2.medianBlur,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python-opencv 中值濾波{cv2.medianBlur(src, ksize)}的用法》相關的同類信息!
  • 本頁收集關于python-opencv 中值濾波{cv2.medianBlur(src, ksize)}的用法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    粉嫩一区二区三区在线看| 色综合亚洲欧洲| 成人黄色免费短视频| 精品国产一区二区精华 | 91色综合久久久久婷婷| 国产日韩欧美制服另类| 国产精品1区二区.| 久久久久久久久久电影| 成人国产精品免费网站| 亚洲色图在线视频| 6080国产精品一区二区| 狠狠色丁香婷婷综合| 精品久久久久香蕉网| 亚洲国产成人一区二区三区| 91麻豆国产自产在线观看| 国产999精品久久久久久| 色国产综合视频| 欧美激情在线看| 欧美伊人精品成人久久综合97| 日日欢夜夜爽一区| 日韩欧美你懂的| 国产精品一区二区三区99| 色婷婷av一区二区三区gif| 国产精品网站在线观看| 日本高清无吗v一区| 亚洲一区二区三区四区五区黄| 欧美精品一级二级| 国产宾馆实践打屁股91| 亚洲精品久久7777| 精品sm在线观看| 欧美图片一区二区三区| 国产激情一区二区三区| 亚洲成人综合视频| 亚洲国产精品成人综合| 91麻豆精品久久久久蜜臀| jvid福利写真一区二区三区| 五月激情六月综合| 中文字幕va一区二区三区| 欧美日韩成人综合| 97精品国产97久久久久久久久久久久| 日韩激情在线观看| 亚洲色图19p| 激情六月婷婷久久| 性欧美疯狂xxxxbbbb| 精品一区二区国语对白| 欧美专区亚洲专区| 亚洲一区二区高清| 亚洲日韩欧美一区二区在线| 久久午夜电影网| 91精品国产乱码| 色哟哟精品一区| 福利91精品一区二区三区| 免费观看日韩电影| 日韩精品高清不卡| 亚洲成在人线在线播放| 亚洲精品一二三区| 亚洲欧美偷拍卡通变态| 国产精品美女久久久久久久| 日韩欧美一级二级| 日韩一级欧美一级| 欧美一区二区三区日韩视频| 欧美亚洲免费在线一区| 在线观看一区不卡| 欧美私模裸体表演在线观看| 色菇凉天天综合网| av在线播放不卡| 99精品一区二区三区| 成人v精品蜜桃久久一区| 福利一区二区在线| 99久久婷婷国产| 日本久久一区二区| 欧美日韩第一区日日骚| 日韩一区二区精品葵司在线| 日韩欧美国产电影| 精品嫩草影院久久| 欧美国产欧美综合| 亚洲品质自拍视频| 亚洲大型综合色站| 免费久久99精品国产| 国产在线乱码一区二区三区| 精品无码三级在线观看视频 | 一区二区三区欧美在线观看| 一区二区在线免费观看| 亚洲成人av电影在线| 蜜臀久久久99精品久久久久久| 精品一区二区三区在线播放| 国产成人精品免费| 99久久精品国产网站| 色婷婷综合激情| 欧美一区二区三区免费观看视频| 精品少妇一区二区三区日产乱码 | 麻豆国产精品一区二区三区 | 91精品国产乱码| 久久综合给合久久狠狠狠97色69| 国产亚洲制服色| 亚洲一区二区在线免费看| 美女看a上一区| 99久久久无码国产精品| 欧美精品久久99| 国产亚洲综合色| 午夜精彩视频在线观看不卡| 国产一区二区不卡老阿姨| 色综合久久综合网欧美综合网| 欧美一区日本一区韩国一区| 国产清纯美女被跳蛋高潮一区二区久久w | 国产麻豆视频一区二区| 99久久精品免费看国产免费软件| 欧美欧美午夜aⅴ在线观看| 久久综合九色综合97婷婷女人| 亚洲欧美日韩在线不卡| 美女一区二区三区在线观看| 99久久精品国产精品久久| 欧美一区二区三区小说| 亚洲猫色日本管| 国产高清不卡二三区| 8x8x8国产精品| 中文字幕字幕中文在线中不卡视频| 美日韩一级片在线观看| 在线观看网站黄不卡| 国产清纯白嫩初高生在线观看91 | 黄色日韩网站视频| 欧美日韩一区二区三区四区五区 | 欧美xfplay| 午夜影院久久久| 日本乱码高清不卡字幕| 国产精品国产三级国产普通话三级| 麻豆91免费看| 欧美一级高清片| 三级欧美在线一区| 欧美性受xxxx黑人xyx性爽| 中文字幕一区二区三区av| 久久99久久精品欧美| 在线不卡免费欧美| 五月天中文字幕一区二区| 91丨porny丨国产| 国产精品久久777777| 高清国产午夜精品久久久久久| 精品处破学生在线二十三| 美女免费视频一区| 欧美一区二区三区免费在线看| 亚洲3atv精品一区二区三区| 欧美在线观看视频一区二区三区| 亚洲精品免费播放| 欧美在线观看18| 视频一区二区三区中文字幕| 欧美日韩国产另类不卡| 亚洲123区在线观看| 欧美欧美欧美欧美首页| 日本在线不卡视频| 日韩无一区二区| 久色婷婷小香蕉久久| 日韩精品一区二区在线| 黄色日韩三级电影| 中文字幕第一页久久| 成人av影院在线| 亚洲美女一区二区三区| 欧美日韩亚洲另类| 蜜臀av性久久久久蜜臀av麻豆 | 国产精品日韩精品欧美在线| 国产亚洲一区二区三区| 成人精品一区二区三区四区| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲黄色片在线观看| 中文成人综合网| 成人综合婷婷国产精品久久蜜臀 | 国产成人日日夜夜| 国产精品每日更新在线播放网址| av在线不卡电影| 国产精品福利在线播放| 蜜桃av噜噜一区| 中文字幕一区二区三区精华液| 亚洲男同性恋视频| 欧美日韩国产一级片| 亚洲第一激情av| 91精品国产综合久久香蕉的特点 | 国产精品亚洲一区二区三区妖精| 久久久久久日产精品| 成人av一区二区三区| 日韩激情中文字幕| 亚洲欧美日韩在线不卡| 91精品综合久久久久久| 欧美久久久久久久久中文字幕| 欧美一级久久久久久久大片| 欧美日韩第一区日日骚| 美女mm1313爽爽久久久蜜臀| 亚洲女人****多毛耸耸8| av综合在线播放| 成人在线综合网| 久久精品夜色噜噜亚洲a∨| 亚洲二区视频在线| 免费高清视频精品| 日韩天堂在线观看| 色丁香久综合在线久综合在线观看| 欧美日韩三级在线| 免费成人在线观看视频| 亚洲精品免费看| 国产精品视频观看| 久久久亚洲午夜电影| 欧美一级久久久久久久大片| 91福利视频在线|