我需要從iPhone拍攝的照片中識別,旋轉和裁剪矩形(名片)。我相信這可以通過使用OpenCV來完成,但我之前沒有使用它。任何人都可以提供一些關於此的提示如何在使用iphone的照片中找到矩形?
6
A
回答
8
參見OpenCV的示例代碼OpenCV2.2\samples\cpp\squares.cpp
。他們執行以下操作:
用Canny
檢測邊緣通過
findContours
檢索輪廓對於每個輪廓
- 使用
approxPolyDP
減少頂點數大致輪廓
如果輪廓具有4個頂點,並且每個角度爲〜90度,則產生一個矩形
- 使用
2
爲了讓您一開始,你應該看看feature detection API的OpenCV。特別是
cv::Canny
(用於邊緣檢測),- 也許
cv::cornerHarris
(轉角檢測), - 和
cv::HoughLines
(用於求出邊緣圖像中的直線)。
HTH
1
根據不同的觀點,該卡可能最終不是一個矩形,但更多的是梯形的。您可以在OpenCV中使用HoughLines2來識別圖像中的邊緣,並嘗試識別最有可能成爲名片邊緣的4條邊線。
+0
你說的除了旋轉之外,我還需要歪斜照片?我正在考慮照相機通常面對名片的情況 – TiansHUo 2011-05-26 06:36:18
1
我認爲goodFeaturesToTrack()
是更容易使用哈里斯 - 角點檢測。 CornerHarris()
需要設置outout圖像爲特定類型。使用輪廓跟蹤區域標記:
2
如果知道矩形的大致高度和寬度,則可以執行以下步驟:
- 物體檢測。
- 所有對象都被標記後,通過計算矩形的周長來過濾檢測到的組件。 P = 2 *(H + W) 忽略大小小於或大於P的任何分量,只保留大小接近P的分量。
- 從輪廓點查找矩形的角點。
- 從原始圖像中提取矩形。
以上所有步驟都可以使用OpenCV或Aforge.Net完成,我親自使用Aforge.Net完成。
14
從的iOS 8,你現在可以使用新的檢測CIDetectorTypeRectangle返回CIRectangleFeature。 您可以添加選項:
- 精度:低/ HIGHT
長寬比:1.0,如果你想找到
CIImage *image = // your image NSDictionary *options = @{CIDetectorAccuracy: CIDetectorAccuracyHigh, CIDetectorAspectRatio: @(1.0)}; CIDetector *rectangleDetector = [CIDetector detectorOfType:CIDetectorTypeRectangle context:nil options:options]; NSArray *rectangleFeatures = [rectangleDetector featuresInImage:image]; for (CIRectangleFeature *rectangleFeature in rectangleFeatures) { CGPoint topLeft = rectangleFeature.topLeft; CGPoint topRight = rectangleFeature.topRight; CGPoint bottomLeft = rectangleFeature.bottomLeft; CGPoint bottomRight = rectangleFeature.bottomRight; }
相關問題
- 1. 如何在iPhone上使用圖形API發表評論照片?
- 2. 創建方形iPhone照片
- 3. 如何在WPF矩形中找到UIElements?
- 4. 如何在java中使用openCv找到矩形的角落
- 5. iphone如何使用Three20保存照片?
- 6. 以矩陣的形式將照片轉換爲照片
- 7. 如何使用iphone中的api在foursquare上發佈照片
- 8. 如何在iPhone應用程序中使用Facebook照片?
- 9. 如何發佈照片到Facebook iphone fbconnect
- 10. iPhone:如何上傳照片到Twitter
- 11. 如何使用python在此圖像中查找矩形形狀?
- 12. 如何分享iphone中的照片
- 13. 如何在iphone中使用twitter api上傳照片?
- 14. 如何使用imageview在iphone中顯示相冊照片
- 15. 使用Facebook圖形API找不到組合照片
- 16. 圖片地圖:如何找到圓形,矩形和多邊形的座標?
- 17. 如何從iphone照片庫中獲取照片總數。
- 18. 如何從iPhone照片庫中刪除照片
- 19. 如何使用PhoneGap將圖像保存到iPhone照片庫?
- 20. 如何找到交點矩形(點)的交錯矩形
- 21. 添加圖片到繪製矩形的中間[iPhone]
- 22. 如何用iPhone拍下照片
- 23. 如何使用圖形API將照片上傳到相冊
- 24. 如何使用圖形api將照片上傳到相冊
- 25. 如何在iPhone上使用Graph API在Facebook上上傳照片?
- 26. 如何在拍攝照片時在圖像中圍繞臉部繪製矩形
- 27. 如何找到記錄沒有照片
- 28. 如何上傳照片和照片的描述TOGETHER在iphone應用程序?
- 29. 如何將部分屏幕的照片保存到本地iPhone的照片?
- 30. 如何將Android照片庫中的照片上傳到使用Dropzonejs的網站?
我不明白的是,如果在某些地方背景可能接近前景色,我怎麼還能找到給出原始圖像信息的邊緣是一個矩形。 – TiansHUo 2011-05-26 06:53:36
這是一個有趣的問題。似乎沒有通用的解決方案。首先出現在我的腦海中:如果您有關於目標對象的一些先驗信息(例如顏色直方圖或紋理特徵),那麼您可以高概率地定位包含目標的圖像區域,並將邊界輪廓設置爲初始猜測,然後應用活動輪廓法來改善結果 – Andrey 2011-05-26 07:53:46