當前位置:
首頁 > 最新 > Limage發布第一個版本的共享庫啦!

Limage發布第一個版本的共享庫啦!

親們,Limage自誕生以來,終於發布了第一個版本的共享庫啦!哈哈哈……

第一個版本的名稱是Limage.so.1.0,包含CDIP類。共享庫和頭文件我已經上傳到了百度網盤,鏈接: https://pan.baidu.com/s/1nwnZXcH密碼: pd9f。

今天,小編就來給親們展示一下Limage的使用效果。先請親們瀏覽一下CDIP.h文件:

CDIP類中運用了部分OpenCV中的函數。在Linux系統下安裝OpenCV的方法親們可以參見小編的上一篇文章《如何在Ubuntu17.10下安裝OpenCV3.4.0》。現CDIP類中共有9個變數,21個函數。分別介紹如下:

(1).變數:

imgH:圖像的高度,以像素為單位。

imgW:圖像的寬度,以像素為單位。

actW:圖像的實際寬度,以像素為單位。和imgW不一樣,actW是4的倍數,這一點在生成灰度圖的時候會很有用。

imgDepth:圖像像素的位深度。支持IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16U, IPL_DEPTH_16S, IPL_DEPTH_32S, IPL_DEPTH_32F和IPL_DEPTH_64F。

imgChannel:圖像的通道數。大多數支持1、2、3或者4通道。

imgSize:圖像的數據大小,以位元組為單位。

imgWidthStep:圖像一行的數據大小,以位元組為單位,是4的倍數。

puc_imgData:指向圖像的像素數據。

pImg_src:IplImage結構體指針。

以一幅imgW為250,imgDepth為8,imgChannel為3的圖像為例。其actW是250+2=252,4的倍數。imgWidthStep是250*3+2=752,也是4的倍數。如果imgChannel為1,那麼actW=imgWidthStep=252。

(2).函數:

CDIP():構造函數。

~CDIP():析構函數。

ReadImage(...):讀取指定路徑下的圖像。

ShowImage():默認顯示CDIP類對象的圖像。

ShowImage(...):顯示指定矩陣的圖像,並可以輸入圖像窗口名稱。效果如下圖所示:

GetRGBImage(...):獲取圖像的RGB分量。

GetGrayImage(...):獲取圖像的灰度圖。效果如下圖所示:

SaveImage(...):將指定的矩陣保存成圖像,並可以輸入保存的路徑。

WriteTxt(...):將指定的矩陣列印成txt文件,並可以輸入列印的路徑。這是一個靜態的函數模板。可以列印int,char和uchar三種數據類型的矩陣。定義成靜態函數是為了在以後的擴展中,可以直接使用類名調用該函數。

FlipMat(...):將指定的矩陣,四周翻轉指定的行數或者列數。同WriteTxt(...)一樣,也是靜態的函數模板。

EdgeDete_Sobel(...):利用Sobel運算元對圖像進行邊緣檢測。效果如下圖所示:

EdgeDete_Laplace(...):利用Laplace運算元對圖像進行邊緣檢測。因為Laplace運算元是二階微分運算元,建議使用之前先用高斯濾波函數GausBlur(...)對圖像進行濾波,可以有效降低圖像中的雜訊。效果如下圖所示:

EdgeDete_Canny(...):利用Canny演算法對圖像進行邊緣檢測。效果如下圖所示:

GausBlur(...):對圖像進行高斯濾波。效果如下圖所示:

CalConv(...):計算圖像的卷積。當權值矩陣都是正數的時候,可以使用這個函數。

Histeq(...):對圖像進行直方圖均衡化。效果如下圖所示:

MeanFilter(...):對圖像進行均值濾波。效果如下圖所示:

InteImg(...):計算圖像的積分圖,是一個靜態函數。

BilinearInte(...):對圖像進行雙線性插值。效果如下圖所示:

親們可以注意一下圖像進行雙線性插值前後的h和w,都擴大了2倍。

Stretch(...):對圖像進行拉伸。效果如下圖所示:

Rotate(...):對圖像進行旋轉。效果如下圖所示:

Limage在GitHub上的鏈接:https://github.com/geekmlby/Limage。歡迎大家指點,您的批評,是我前進的燈塔。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Limage開發心得 的精彩文章:

Linux下的靜態庫和共享庫簡介

TAG:Limage開發心得 |