1. 程式人生 > >Opencv中對查詢表LUT的使用與理解

Opencv中對查詢表LUT的使用與理解

查詢表:

OpenCV中將data定義為uchar*,而當我們用建構函式建立一個Mat物件的時候,可以指定影象的資料型別有CV_8UC1CV_8UC3CV_32FC1CV_32FC3等多種,那麼我們如何通過data指標去訪問和修改影象的某一個畫素值呢,對於資料為uchar型別的Mat物件,可以直接用data訪問和修改,對於資料為floatdouble型別的Mat物件,我們同樣可以用data對影象的某個畫素值進行訪問和修改操作,方法就是將data強制轉換成指向Mat物件對應資料型別的指標。

查詢表步驟:

1.建立一個Mat型查詢表

2.用指標寫對應關係

3.呼叫LUT函式

int main ()
{
Mat a(1,256,CV_8UC1);
uchar* p=a.data;


for(int i=0;i<255;i++)
{
a.data=i/10*10;
}
Mat src=imread("logo.png");
Mat dst;




LUT(src,a,dst);


cout<<dst;
}

相關推薦

Opencv查詢表LUT的使用理解

查詢表: OpenCV中將data定義為uchar*,而當我們用建構函式建立一個Mat物件的時候,可以指定影象的資料型別有CV_8UC1、CV_8UC3、CV_32FC1、CV_32FC3等多種,那麼我們如何通過data指標去訪問和修改影象的某一個畫素值呢,對於資料為uch

OpenCVMat裏面depth,dims,channels,step,data,elemSize和數據地址計算的理解 (轉)

ima 忽略 learning note 數組 進行 每一個 ber 初始 cv::Matdepth/dims/channels/step/data/elemSizeThe class Mat represents an n-dimensional dense numeri

OpenCVMat裡面depth,dims,channels,step,data,elemSize和資料地址計算的理解 (轉)

cv::Matdepth/dims/channels/step/data/elemSizeThe class Mat represents an n-dimensional dense numerical single-channel or multi-channel ar

AndroidHandle機制的理解

trac 意義 還要 break create findview curl net protected 一、重要參考資料 【參考資料】 眼下來看,以下的幾個網址中的內容質量比較不錯。基本不須要再讀別的網址了。 1、android消息機制一

java容器的學習理解

優化 是我 move 查找 map 常常 ise 線性 arr   以前一直對於java中容器的概念不理解,雖然學習過,但始終沒有認真理解過,這幾天老師提出了這樣一個問題,你怎麽理解java中的容器。瞬間就蒙了。於是各種搜資料學習了一下,下面是我學習後整理出來的的一些心得。

OpenCV幾何形狀識別測量

OpenCV Python 圖像處理 形狀識別 幾何分析 經常看到有學習OpenCV不久的人提問,如何識別一些簡單的幾何形狀與它們的顏色,其實通過OpenCV的輪廓發現與幾何分析相關的函數,只需不到100行的代碼就可以很好的實現這些簡單幾何形狀識別與對象測量相關操作。本文就會演示給大家如何

軟件開發MVC的一些理解

https 我們 直接 mod 一個 span 最大的 控制器 用戶 接口隔離 通俗一點講,接口隔離就是當一個類需要繼承另一個類時, 如果被繼承的類中有繼承的類用不到的方法或者屬性時,就不要去實現這個繼承。如果真的情非得已必須要繼承,那麽也需要從被繼承的類中再提取出一個只包

OpenCV原始影象載入儲存壓縮技巧

載入影象 OpenCV中關於影象讀寫有兩個函式imread與imwrite,imread載入的時候支援灰度影象、彩色影象、原始影象載入,預設情況下通過imread載入的影象都是三通道的BGR彩色影象。 但是實際上OpenCV支援載入任意通道的影象,首先來仔細再看一下imread函式 Mat&

資料庫儲存過程的理解

1.儲存過程的概念 儲存過程(Stored Procedure)是一組為了完成特定功能的SQL語句集。經編譯後儲存在資料庫中。 儲存過程是資料庫中的一個重要物件,使用者通過指定儲存過程的名字並給出引數(如果該儲存過程帶有引數)來執行它。 儲存過程是由 流控制 和 SQL語句

OpenCV的旋轉一些思考

目錄 1. 問題描述 2. “旋轉”的三種解法 2.1 應用迭代法進行求解 2.2 應用特徵橢圓進行求解 2.3 應用PCA主成分分析進行求解 3. 歸納與比較 1.問題描述 數字影象處理是一門很有意思的學問,在現實生活中往往一個很簡單的問題在數字影象中有時會非常

OpenCVsplit的優化方法

目錄 1.問題 2.思路 3.實現 4.資料   1.問題 問題源於:http://answers.opencv.org/question/109754/optimizing-splitmerge-for-clahe/ 具體: 提問者在做限制性對比度

python閉包的理解(2)

上一篇介紹了閉包的概念,這一篇介紹下閉包的使用過程中需要注意的問題。 def count(): fs = [] for i in range(1,4): def f(): return i*i fs.append(f)

python閉包的理解(1)

今天聊下python中閉包的用法,首先它是在函式內再定義一個函式,內部定義的函式可以引用外部函式的引數和區域性變數,在呼叫外部函式時返回的是內部函式,但是不會立馬執行內部函式的程式體,需要單獨呼叫內部函式才會去執行。下面的程式就是閉包 首先正常定義一個求和函式: def sum(*args)

phpstatic關鍵字的理解

/** * static 關鍵字 * 1. 定義與訪問類靜態成員 * 2. 訪問類常量 * 2. 後期靜態繫結(延遲靜態繫結) */ class MyClass{ //const 定義類常量 const DOMAIN = 'DonnieKing'; //st

OpenCVIplImage影象格式BYTE影象資料的轉換

OpenCV中IplImage影象格式與BYTE影象資料的轉換 IplImage* iplImage; BYTE* data; 1 由IplImage*得到BYTE*影象資料: data = iplImage->imageDataOrigin; //未對齊的原始影象資

講解JavaScript閉包的理解

1、JS中變數的作用域 在理解閉包之前,我們得弄清楚JS中變數的作用域原理,它分為全域性作用域和區域性作用域,它有一個特點就是區域性可以獲取全域性的宣告變數,而全域性卻不能得到區域性宣告的變數,我們先來看一個小例子: var num = 99; function

OpenCV影象進行二維離散傅立葉變換

#include<opencv2/opencv.hpp> #include <highgui.h> #include <iostream> #include <cv.h> #include <opencv2/core/c

OpenCV模糊操作的總結 影象處理:基礎(模板、卷積運算) 影象處理-模板、卷積的整理 推文:影象濾波函式imfilter函式的應用及其擴充套件

原帖地址 三種模糊操作 均值模糊 中值模糊 自定義模糊(可以實現上面兩種模糊方式)   這個演算法類似有:均值,中值,就是取周圍所有畫素的均值、中值來設定這個畫素的大小。   (關於邊界問題:有幾種填充方法:補零、邊界複製、塊複製、映象複

目標檢測的影象特徵提取之(四)OpenCVBLOB特徵提取幾何形狀分類

OpenCV中BLOB特徵提取與幾何形狀分類一:方法二值影象幾何形狀提取與分離,是機器視覺中重點之一,在CT影象分析與機器人視覺感知等領域應用廣泛,OpenCV中提供了一個對二值影象幾何特徵描述與分析最有效的工具 - SimpleBlobDetector類,使用它可以實現對二

事實證明,OpenCVRGB影象資料的儲存順序是BGR,而且Scalar()的順序也是B,G,R

影象處理開發資料、影象處理開發需求、影象處理接私活掙零花錢,可以搜尋公眾號"qxsf321",並關注! //OpenCV版本2.4.9 //交流QQ2487872782 #in