2010-04-08 93 views
4

通過VB.net/C#有什麼方法可以讀取任何關閉JPEG的元數據來判斷照片是以橫向還是縱向拍攝的?如何判斷照片是以橫向還是縱向拍攝的? JPEG .NET元數據方向

我會假設一個攝像頭首先需要一個加速度計才能說出什麼方向是正確的?假設有那種智能來檢測傾斜角度,我將如何去讀取來自JPEG的信息?

我在網上發現了一些樣本,用vb/.net讀取元數據不知道讀什麼來找到我需要的信息。

欣賞任何指針.....

+0

的這個項目應該做你想要什麼:HTTP:// WWW .codeproject.com/KB/graphics/exifextractor.aspx這傢伙已經有一個實施:http://dotmac.rationalmind.net/2009/08/correct-photo-orientation-using-exif/ – roufamatic 2010-04-08 16:28:19

回答

1

難道是足夠簡單的JPG圖像的寬度比較其高度和寬度是否>高度,當作風景?

我已經在C#中完成了這項工作(儘管我現在不記得實現細節,但是我記得它並不是特別困難,只有幾行代碼),這是我工作的一個網站,它需要上傳的JPG文件要在一個框架內顯示(例如你可能掛在牆上),我們需要知道是否添加橫向或縱向版本的框架。

+0

唯一的問題是你不知道攝影師旋轉相機的方式。我總是傾向於向左旋轉,但我的(左手)妻子旋轉到右側..相機是:-) – CResults 2010-04-08 16:30:29

+0

如果有人拿着相機以斜角拍照,該怎麼辦?寬度將總是超過高度...不能夠感知Z方向,你不能告訴。 – ved 2010-04-08 18:10:56

+0

好點。考慮一下,我參與的項目可能總是假定圖像在上傳之前已經被處理過,因此會以正確的格式得到。 – Alfamale 2010-04-09 11:32:05

6

是的,有一個EXIF標籤可以存儲方向。標籤號碼274,值爲documented here。從JPEG數據讀取標籤的示例代碼是available here

+0

第二個鏈接現在看起來死了 – andrewb 2014-02-21 00:22:52

+1

我修好了..... – 2014-02-21 09:42:13

+0

乾杯,並感謝易於標記號碼參考 – andrewb 2014-02-23 23:13:02

2

現在很多數碼相機都內置傳感器來檢測照片是以橫向還是縱向模式拍攝的。然後他們將這些信息存儲在JPG的標題中。這些數據被稱爲EXIF。

這是一個關於從JPG文件中提取EXIF數據的相當不錯的教程。除了縱向/橫向的信息還可以提取(通常)模型/讓攝像頭,鏡頭設置,時間/日期等

http://www.codeproject.com/KB/graphics/NishExifReader.aspx

相關問題