給定一個圖像組成的一個簡單的黑色領域與一個單一的白色矩形裏面,我怎麼能提取矩形的座標?我搜索了谷歌搜索,並發現了許多關於使用霍夫線,卷積,形態學等邊緣檢測的文章,但所有這些實際上都會影響圖像或以某種方式進行轉換。我不想改變圖像,我想要做的就是找到邊緣。很明顯,我可以簡單地遍歷整個圖像的寬度和高度,並查看像素顏色(如一些帖子所示),但這看起來非常低效。有沒有內置算法?似乎這一定是imagick某個地方的一部分,否則它怎麼可能找到並畫出內部圖像的邊緣?但我很難找到如何解決這個問題。php - 如何使用imagick或其他庫找到圖像邊緣的座標?
0
A
回答
1
$base = new Imagick(realpath('./trim.png'));
$base->trimImage(0);
// get the new image size
$geometry = $base->getImageGeometry();
// Retrieve the trim info
$pageInfo = $base->getImagePage();
一個類似的例子是手動頁上: http://php.net/manual/en/imagick.trimimage.php#111332
0
它顯示爲貼到該問題的完整解決方案
如下:
$im->trimImage(0);
$pagedata = $im->getImagePage();
$x = $pagedata['x'];
$y = $pagedata['y'];
$im->setImagePage(0, 0, 0, 0);
$w = $im->width;
$h = $im->height;
沒有得到之前設置圖像頁面高度和寬度將返回整個原始圖像的高度和寬度,如參考頁面上的註釋所示。
事實證明,如果您使用的是使用透明度的圖像,解決方案會更容易;它只是單獨getImagePage()
功能:
$im = new Imagick(realpath('./image.png'));
$pagedata = $im->getImagePage();
$x = $pagedata['x'];
$y = $pagedata['y'];
$w = $pagedata['width'];
$h = $pagedata['height'];
print("x,y: $x, $y<br>\n");
print("w,h: $w, $h<br>\n");
出於某種原因,如果trimImage(0)
與此透明圖像所用的(X,Y)座標設置爲(-1,-1)。不幸的是我對imagick說不清楚爲什麼會發生這種情況。也許你可以回答這個問題,@丹納克?
相關問題
- 1. 如何獲取圖像的邊緣座標?
- 2. 如何使用BingMap計算地圖四角(邊緣)的座標?
- 3. 奇怪的邊緣檢測或其他?
- 4. 找到最近的座標到其他座標
- 5. PDF到圖像使用PHP-imagick API
- 6. AS3 - 獲取邊緣座標
- 7. 邊緣檢查座標系
- 8. 如何在圖像中找到邊緣的法線
- 9. 獲取邊緣檢測後的邊緣座標(Canny)
- 10. 如何測量邊緣檢測圖像邊緣的長度?
- 11. 如何找到閾值圖像中最低像素的座標?
- 12. 如何在C#中的圖像中找到像素座標?
- 13. 獲取CGPoint的邊緣/外部座標
- 14. 如何使用php將圖像上傳到其他主機域?
- 15. 如何使用OpenCV查找圖像上另一點的座標
- 16. 在使用Python進行抗鋸齒時使用透明邊緣消除邊緣處的薄邊界圖像庫
- 17. 如何將文本轉換爲使用php的imagick的圖像?
- 18. Actionscript 3 - 查找影片剪輯邊緣的座標
- 19. 找到最大號碼。圖的邊緣
- 20. 使用Ford Fulkerson算法找到邊緣?
- 21. 如何使用php imagick確定扭曲的圖像?
- 22. 使用php或java開放邊緣數據庫連接
- 23. 如何設置傾斜邊緣的圖像或視頻
- 24. 平滑的圖像邊緣
- 25. 如何使用C#將圖像嵌入到其他圖像?
- 26. 如何在mxGraph邊緣創建圖像
- 27. Android:使用圖庫打開圖像,但使用其他圖像
- 28. 找出其他4個紋理座標?
- 29. 如何使用PHP中的Imagick庫將PDF文件轉換爲圖像?
- 30. 我們如何在matlab中不使用座標軸或任何其他選項顯示圖像?
嗯 - 12.9k聲望和代碼專用答案? Mhhh,如果你可以添加一些單詞,會很好。 ([來自評論](http://stackoverflow.com/review/low-quality-posts/10996110)) –
@CharlotteDunois我已經回答了109個問題,標記爲'Imagick',總的upvote計數爲... 84。其中一些答案花了幾個小時寫下來。我的答案可能很簡短,這不應該太令人驚訝。 – Danack
謝謝丹達克,您的解決方案讓我走上正軌。實際上,還需要一步才能使其工作 - 手冊頁面註釋中提到的setImagePage()。所以完整的解決方案在下面(不能發佈在這裏,因爲'迷你降價'格式)。 –