欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實(shí)現(xiàn)OpenCV方框?yàn)V波的代碼

 更新時(shí)間:2021年10月16日 10:55:34   作者:點(diǎn)云俠  
這篇文章主要介紹了C++ OpenCV方框?yàn)V波的實(shí)現(xiàn),方框?yàn)V波是均值濾波的一種形式,今天通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

一、方框?yàn)V波

   方框?yàn)V波是均值濾波的一種形式。在均值濾波中,濾波結(jié)果的像素值是任意一個(gè)點(diǎn)的鄰域平均值,等于各鄰域像素值之和的均值,而在方框?yàn)V波中,可以自由選擇是否對(duì)均值濾波的結(jié)果進(jìn)行歸一化,即可以自由選擇濾波結(jié)果是鄰域像素值之和的平均值,還是鄰域像素值之和。

二、C++代碼

#include <iostream>
#include <opencv2\opencv.hpp>

using namespace cv;
using namespace std;

int main()
{
	//---------------------------用于方框?yàn)V波的圖像--------------------
	Mat img = imread("1.jpg"); 
	if (img.empty())
	{
		cout << "請(qǐng)確認(rèn)圖像文件名稱是否正確" << endl;
		return -1;
	}
	
	//將CV_8U類型轉(zhuǎn)換成CV_32F類型,避免計(jì)算后的數(shù)據(jù)過大
	Mat equalImg_32F;
	img.convertTo(equalImg_32F, CV_32F, 1.0 / 255);
	Mat resultNorm, result, equalImg_32FSqr;
	//--------------------------方框?yàn)V波boxFilter----------------------
	boxFilter(img, resultNorm, -1, Size(3, 3), Point(-1, -1), true);  // 進(jìn)行歸一化,則為均值濾波
	boxFilter(img, result, -1, Size(3, 3), Point(-1, -1), false);     // 不進(jìn)行歸一化
	//----------------------方框?yàn)V波sqrBoxFilter()---------------------
	//對(duì)每個(gè)像素?cái)?shù)值的平方求和/求均值
	sqrBoxFilter(equalImg_32F, equalImg_32FSqr, -1, Size(3, 3), Point(-1, -1), true, BORDER_CONSTANT);
	//-------------------------顯示處理結(jié)果----------------------------
	imshow("原始圖像", img);
	imshow("歸一化", resultNorm);
	imshow("不歸一化", result);
	imshow("平方和求均值", equalImg_32FSqr);
	waitKey(0);
	return 0;
}

三、python代碼

import cv2
import matplotlib.pyplot as plt

# 讀取圖片
img = cv2.imread('1.jpg')
# BGR轉(zhuǎn)為RGB,方便plot函數(shù)顯示
source = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 方框?yàn)V波,True表示歸一化,則效果與均值濾波相同。
result = cv2.boxFilter(source, -1, (5, 5), normalize=False)
# sqrBoxFilter實(shí)現(xiàn)對(duì)每個(gè)像素值的平方求和
# result1 = cv2.sqrBoxFilter(source, -1, (5, 5), normalize=True)
# 顯示圖形
titles = ['Source Image', 'BoxFilter Image']
images = [source, result]
for i in range(2):
    plt.subplot(1, 2, i + 1), plt.imshow(images[i], 'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])
plt.show()

四、結(jié)果展示

1、原始圖像

在這里插入圖片描述

2、歸一化

在這里插入圖片描述

3、不歸一化

在這里插入圖片描述

4、平方和求均值

在這里插入圖片描述

到此這篇關(guān)于C++ OpenCV方框?yàn)V波的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)OpenCV方框?yàn)V波內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章讓你徹底明白c++11增加的變參數(shù)模板

    一篇文章讓你徹底明白c++11增加的變參數(shù)模板

    C++11的新特性--可變模版參數(shù)(variadic templates)是C++11新增的最強(qiáng)大的特性之一,它對(duì)參數(shù)進(jìn)行了高度泛化,它能表示0到任意個(gè)數(shù)、任意類型的參數(shù),這篇文章主要給大家詳細(xì)介紹了關(guān)于c++11增加的變參數(shù)模板的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • C++封裝靜態(tài)鏈接庫(kù)和使用的詳細(xì)步驟

    C++封裝靜態(tài)鏈接庫(kù)和使用的詳細(xì)步驟

    這篇文章主要介紹了C++封裝靜態(tài)鏈接庫(kù)和使用,本文描述了怎么去把一個(gè)C++程序封裝成一個(gè)靜態(tài)庫(kù)并且如何去使用這些靜態(tài)庫(kù),需要的朋友可以參考下
    2022-08-08
  • C++?LeetCode542矩陣示例詳解

    C++?LeetCode542矩陣示例詳解

    這篇文章主要為大家介紹了C++?LeetCode542矩陣示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • C語(yǔ)言函數(shù)的參數(shù)使用指針

    C語(yǔ)言函數(shù)的參數(shù)使用指針

    這篇文章主要介紹了C語(yǔ)言函數(shù)的參數(shù)使用指針,本文講述了指針在作為函數(shù)參數(shù)時(shí)候的使用方法,解析值傳遞和值引用的區(qū)別案例,希望對(duì)你有所幫助
    2021-06-06
  • C++實(shí)現(xiàn)廣度優(yōu)先遍歷圖

    C++實(shí)現(xiàn)廣度優(yōu)先遍歷圖

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)廣度優(yōu)先遍歷圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C++17中std::string_view的使用

    C++17中std::string_view的使用

    std::string_view是C++17標(biāo)準(zhǔn)庫(kù)中的一種新類型,它提供了對(duì)一個(gè)字符序列的非擁有式視圖,本文主要介紹了C++17中std::string_view的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • C語(yǔ)言實(shí)現(xiàn)順序循環(huán)隊(duì)列實(shí)例

    C語(yǔ)言實(shí)現(xiàn)順序循環(huán)隊(duì)列實(shí)例

    大家好,本篇文章主要講的是C語(yǔ)言實(shí)現(xiàn)順序循環(huán)隊(duì)列實(shí)例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • C語(yǔ)言實(shí)現(xiàn)折半查找法(二分法)

    C語(yǔ)言實(shí)現(xiàn)折半查找法(二分法)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)折半查找法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Linux搭建C++開發(fā)調(diào)試環(huán)境的方法步驟

    Linux搭建C++開發(fā)調(diào)試環(huán)境的方法步驟

    這篇文章主要介紹了Linux搭建C++開發(fā)調(diào)試環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 深入理解線程安全與Singleton

    深入理解線程安全與Singleton

    在編譯器未優(yōu)化的情況下順序如下:1.new operator分配適當(dāng)?shù)膬?nèi)存;2.在分配的內(nèi)存上構(gòu)造Singleton對(duì)象;3.內(nèi)存地址賦值給_instance
    2013-09-09

最新評(píng)論