itk中的Cos變換

2021-08-08 20:39:09 字數 1285 閱讀 5255

itk中有個類叫做itkcosimagefilter,是將影象中每個點做cos變換。可能大家現在還不知道有什麼用,那麼本文只談實現,不談應用場景。

使用方法:

typedef itk::cosimagefilter< imagetype, imagetype  >  filtertype;

filtertype::pointer filter = filtertype::new();

filter->setinput( input_image );

filter->update();

itk封裝好的類,使用方法

基本都和vtk中類似,多了乙個預先定於影象資料格式imagetype。

接下來看實現方法:

思路就是把大象放到冰箱裡,分4步:

1.將輸入影象的畫素型別轉換成double

2.每個畫素值做cos變換

3.將double型別的結果值轉換成輸出影象對應的畫素型別

4.將轉換後的值寫入輸出影象

itk中的數學方法引用自第三方庫:vxl,vxl(vision-something-libraries)是為計算機視覺研究和實現而設計的c++庫集合。vcl是vxl中的一部分,首先定義乙個cos模版類:

namespace functor ;//建構函式

~cos() {};//析構函式

bool operator!=( const cos & ) const//運算符號!=過載

bool operator==( const cos & other ) const//運算符號==過載

inline toutput operator()( const tinput & a ) const//內聯函式

}; }

cos這個類中並沒有什麼實際的實現,它繼承自類itkunaryfunctorimagefilter,而itkunaryfunctorimagefilter 中的實現就是遍歷並計算輸入影象中的每個畫素,而方法就是n維迴圈(並沒有黑科技。。。)。繼承的優點在這裡就凸顯了出來,子類中只需要輸入畫素變換的方法即可。

不忘初心,方得始終。念念不忘,必有迴響。

----這句話寫給那些和我一樣還懷揣著夢想的人

1.

C OS 中的任務

c os 中的任務 核心的主要工作 對人物進行管理和排程 c os 任務 使用者任務 程式設計者編寫的任務 為解決應用問題兒編寫的 系統任務 由系統提供的任務 為應用程式來提供某種服務的。c os 最多可以對64個任務進行管理。系統任務 c os 為應用程式預定義了兩個系統任務 空閒任務 每個程式必...

itk中的黑白TopHat演算法

本文要寫的是tophat演算法,這個演算法屬於形態學變換,主要應用在解決當光照不均等條件引起的背景灰度不均問題 敲黑板,tophat是應用在灰度影象的,不是二值影象!tophat演算法本質是形態學變換中開閉運算的組合。開運算能消除灰度影象中較亮的細節,閉運算則能消除較暗的細節,如果對應到座標系,亮對...

itk中的花式資料切割(二)

上篇切割的特徵是越切越小,這次換個不會變小的方法,當然不同的方法有利有弊,中間取捨,看實際情況。0.先構建乙個與原始資料同等大小的影象,這個是前提條件 略。不清楚的請轉 itk中的基本影象操作 一文 1.沿著z軸按照預設範圍切出方盒子 其實隨便xyz那一邊都一樣 imagetype sizetype...