learnopencv非真實感渲染

2021-09-29 20:25:02 字數 3171 閱讀 2628

//邊緣保留過濾器(  edgepreservingfilter) 

//輸出3通道影象

//recurs_filter(遞迴過濾)= 1,normconv_filter(歸一化卷積)=2。使用recurs_filter選項的速度比normconv_filter快3.5倍。

//當不需要銳化並且速度很重要時,應使用recurs_filter。

//sigma_s 範圍介於0到200之間,該引數確定平滑程度,典型的平滑濾波器將畫素值替換為其相鄰畫素的加權和。

//鄰域越大,過濾後的影象看起來越平滑。鄰域的大小與引數sigma_s成正比

//sigma_r 範圍介於0到1之間

//不能簡單地用相鄰畫素的加權總和代替畫素的顏色,我們要用附近畫素的平均值替換畫素上的顏色值,

//sigma_s和sigma_r。就像其他平滑濾鏡一樣,

//sigma_s控制鄰域的大小,而sigma_r(用於sigma_range)控制鄰域內不同顏色的平均方式。

//當sigma_s 取值不變時候,sigma_r 越大影象濾波效果越明顯;

//當sigma_r 取值不變時候,視窗 sigma_s 越大影象模糊效果越明顯;

//當sgma_r取值很小的時候,視窗 sigma_s 取值無論如何變化,影象雙邊濾波效果都不好!

edgepreservingfilter

(img, imgd, recurs_filter,60,

0.4)

;edgepreservingfilter

(img, imgdd, normconv_filter,60,

0.4)

;//建議使用 recurs_filter, 因為它比 normconv_filter快得多。

//濾鏡增強了細節,使影象看起來更清晰。

detailenhance

(img, imgddd,10,

0.15

);

//輸出看起來像鉛筆素描。有兩個輸出,乙個是將濾鏡應用於彩色輸入影象的結果,另乙個是將其應用於輸入影象的灰度版本的結果

//第二個引數輸出灰度影象

//引數3:輸出彩色影象

//第五個引數shade_factor(範圍0到0.1)是輸出影象強度的簡單縮放。值越高,結果越亮。

pencilsketch

(img, imgdddd, imgddddd,60,

0.07

);

//程式化篩選器(程式化)stylization filter ( stylization )

//輸出看起來像是使用水彩畫的影象。

stylization

(img, imgdddddd,60,

0.07

);

// learnopncv.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include

#include

intmain()

imshow

("test"

, img);

mat imgd,imgdd,imgddd,imgdddd,imgddddd,imgdddddd = img.

clone()

;//邊緣保留過濾器( edgepreservingfilter)

//輸出3通道影象

//recurs_filter(遞迴過濾)= 1,normconv_filter(歸一化卷積)=2。使用recurs_filter選項的速度比normconv_filter快3.5倍。

//當不需要銳化並且速度很重要時,應使用recurs_filter。

//sigma_s 範圍介於0到200之間,該引數確定平滑程度,典型的平滑濾波器將畫素值替換為其相鄰畫素的加權和。

//鄰域越大,過濾後的影象看起來越平滑。鄰域的大小與引數sigma_s成正比

//sigma_r 範圍介於0到1之間

//不能簡單地用相鄰畫素的加權總和代替畫素的顏色,我們要用附近畫素的平均值替換畫素上的顏色值,

//sigma_s和sigma_r。就像其他平滑濾鏡一樣,

//sigma_s控制鄰域的大小,而sigma_r(用於sigma_range)控制鄰域內不同顏色的平均方式。

//當sigma_s 取值不變時候,sigma_r 越大影象濾波效果越明顯;

//當sigma_r 取值不變時候,視窗 sigma_s 越大影象模糊效果越明顯;

//當sgma_r取值很小的時候,視窗 sigma_s 取值無論如何變化,影象雙邊濾波效果都不好!

edgepreservingfilter

(img, imgd, recurs_filter,60,

0.4)

;edgepreservingfilter

(img, imgdd, normconv_filter,60,

0.4)

;//建議使用 recurs_filter, 因為它比 normconv_filter快得多。

//細節增強過濾器(detailenhance)

//濾鏡增強了細節,使影象看起來更清晰。

detailenhance

(img, imgddd,10,

0.15);

//鉛筆素描過濾器(pencilsketch)

//輸出看起來像鉛筆素描。有兩個輸出,乙個是將濾鏡應用於彩色輸入影象的結果,另乙個是將其應用於輸入影象的灰度版本的結果

//第二個引數輸出灰度影象

//引數3:輸出彩色影象

//第五個引數shade_factor(範圍0到0.1)是輸出影象強度的簡單縮放。值越高,結果越亮。

pencilsketch

(img, imgdddd, imgddddd,60,

0.07);

//程式化篩選器(程式化)stylization filter ( stylization )

//輸出看起來像是使用水彩畫的影象。

非真實感渲染

非真實感渲染的定義 就是使用一些渲染方法使得畫面達到某些特殊的繪畫風格相似的效果,簡稱npr。渲染輪廓線的方式 常見渲染方式如下 1.基於觀察角度和表面法線的輪廓線渲染 這種方法就是使用視角方向和法線方向的點乘結果來得到輪廓資訊。但是很多模型渲染出來的描邊效果卻不盡人意,而且也不能控制輪廓線風格的渲...

幹細胞技能醫療真實感觸

最開始接觸幹細胞技能醫療是通過朋友介紹的。結婚多年以來,對家庭的操心和工作上的壓力,導致我心力憔悴。狀況日益下降,身體也開始呈現早衰的跡象,為此我煩心不以。食補,藥補,去美容店做各種保養也無濟於事,家裡人看到我的狀況也很是疼愛,通過多方探問,了解到幹細胞技能醫療。上網科普了一下幹細胞常識,幹細胞是一...

真實感場景繪製(附原始碼)

首先給出繪製效果圖 說明 本系統繪製了乙個真實感的三維場景,並實現場景漫遊。使用按鍵 或w s a d控制運動方向,pgdn和pgup可以改變觀察者的高度,滑鼠控制轉向,按鍵 f 可以開啟和關閉 霧氣 esc退出程式。本場景中繪製了牆壁與地面 天空 石柱 箱子 玻璃球 雪人 霧等物件,下面將依次分析...