MIT FiveK圖像轉化--DNG到TIFF,TIFF到JPEGphp
MIT FiveK數據庫是研究圖像自動修飾算法會用到的基準數據庫,然而那個網頁上提供給咱們的5000張原始圖像的格式爲DNG格式(一種raw格式),須要咱們本身應用dcraw對圖像進行處理;同時,通過專家修飾過的圖像被分散到不一樣的連接下進行下載(下載的爬蟲,能夠參考這篇博客),並且格式爲16位tiff格式,差很少總共兩三百G的大小。數據集很是龐大,並且dng格式不利於程序的處理,所以博主但願可以將這些圖片所有都轉爲最爲常見的sRGB空間的JPEG格式,下面就介紹具體操做方法。html
注:所用的系統爲Ubuntu系統算法
一、應用dcraw將DNG格式轉爲16位TIFF格式shell
首先,須要將原始的數據集從本網站上下載下來,將分散到數個文件夾中的DNG圖片放入同一個文件夾中,而後對逐個文件應用dcraw來進行處理,轉爲16位TIFF文件,色彩空間爲Pro Photo,shell腳本以下:數據庫
chmod a+rwx DNG2TIFF.sh filelist=$(ls *.dng | tr " " "\?") #得到文件夾中全部的文件的文件名(這一處理能夠解決文件名中有空格的問題,讀取完整的文件名) #遍歷dng文件,用dcraw進行處理 for file in $filelist do dcraw -o 4 -4 -T "$file" #對圖片進行處理,最後路徑上加雙引號是由於有的路徑之間是有空格的,添加雙引號能夠避免shell將空格認爲分割符號 rm -f "$file" #刪除原始DNG文件 echo "$file" 'done!' done
其中主要須要注意的點是,這個數據集中的某些文件(共29個)的文件名中是包含空格的,在使用shell腳本遍歷文件名或者訪問文件時尤爲須要注意這一點。ubuntu
二、應用ImageMagick將TIFF轉爲JPEG
網站
ImageMagick能夠說是ubuntu系統上面處理圖片神器,能夠對圖像執行的操做很是豐富,感受就像是命令行版本的photoshop同樣。這一部分主要實現的轉換爲,將16位TIFF圖片(Pro Photo色彩空間)轉爲JPEG(sRGB)。首先須要在TIFF文件夾內新創建一個名爲「JPEG」的文件夾,用於放置處理以後的JPEG圖片。同上一個轉換同樣,也須要注意文件名中的空格問題,具體shell腳本以下。spa
chmod a+rwx TIFF2JPEG.sh filelist=$(ls *.tiff | tr " " "\?") #得到文件夾中全部的文件 #遍歷tiff文件,用ImageMagick進行處理 for file in $filelist do file_name=${file%.*} convert "$file" -profile sRGB.icc JPEG/"$file_name".jpeg #對每一張tiff格式的圖片進行處理 echo "$file" 'done!' done
其中sRGB.icc文件爲sRGB的色彩配置文件,能夠在這個地址下載 。命令行
原文出處:https://www.cnblogs.com/AlgrithmsRookie/p/11593090.htmlcode