如果我有一個尺寸爲960 * 720的Mat
圖像對象(OpenCV),我已經在其上計算了一個Point
對象的座標,然後我縮放這個Mat圖像,其新尺寸爲640 * 480,我怎樣才能找到Point
的新座標?OpenCv中縮放Mat圖像上點的座標計算
3
A
回答
0
在原矩陣A點(x,y)
將在新的矩陣由
(x',y') = 2*(x,y)/3.
減少到OpenCV的功能映射到(x',y')
我們:
cv::Point scale_point(cv::Point p) // p is location in 960*720 Mat
{
return 2 * p/3; // return location in 640*480 Mat
}
0
我最終行動做什麼是創建一個ScaledPoint
對象,該對象擴展了Point
。這樣一來,它就不會破壞我剛剛使用的純代碼對象的代碼。
public class ScaledPoint extends Point {
public ScaledPoint (double[] points, double scale) {
super(points[0] * scale, points[1] * scale);
}
}
然後,我計算出的比例因子和我擴展的類中使用它:
Mat originalObject;
// TODO: populate the original object
Mat scaledObject;
// TODO: populate the scaled object
double scaleFactor = scaledObject.getHeight()/(double)originalObject.getHeight();
matOfSomePoints = new Mat(4,1, CvType.CV_23FC2);
// TODO: populate the above matrix with your points
Point aPointForTheUnscaledImage = new Point(matOfSomePoints.get(0,0));
Point aPointForTheScaledImage = new ScaledPoint(matOfSomePoints.get(0,0), scaleFactor);
相關問題
- 1. 圖像縮略圖的座標計算
- 2. 計算圖像縮放後的鼠標座標
- 3. 計算新參考座標系中圖像像素的座標
- 4. 圖像座標到世界座標opencv
- 5. 如何計算OpenCV中一個點的三維座標
- 6. 計算圖像每個角的座標
- 7. 縮放後圖像的觸摸點座標
- 8. 如何從像素座標計算歸一化圖像座標?
- 9. 如何使用OpenCV查找圖像上另一點的座標
- 10. 如何計算Android中縮放畫布的座標
- 11. QLabel QT中的OpenCV圖像座標
- 12. 圖像上點擊點的座標HTML
- 13. opencv中的圖像縮放/清晰度
- 14. 計算爲圓心座標圖像
- 15. 如何計算OpenCV中Mat的最大像素值
- 16. 如何在Google地圖SDK for Android上的特定座標上計算每米點的縮放值?
- 17. 計算座標點與VB.net
- 18. 計算終點座標
- 19. 計算Mat OpenCV子集的總和
- 20. 計算一個圓上8個等距點的像素座標
- 21. 計算的x,y,z座標(3D)從圖像點(2)
- 22. 將標記放在OpenCV的圖像上
- 23. Opencv Mat創建圖像
- 24. 動態地計算圖層的中心座標,縮放和停止
- 25. 如何使用OpenCV計算圖像中所有點的SURF點?
- 26. display opencv cv ::在gtkmm中的Mat圖像
- 27. 使用openCV查找圖像中的角點座標
- 28. jquery gmap3 - 計算多個動態生成的標記座標的中心點和縮放 - 谷歌地圖api 3
- 29. 單獨在ggplot的極座標圖中縮放座標軸?
- 30. 如何從縮放圖像中的UITapGestureRecognizer獲取UIImage的座標?
雖然這個概念上回答了這個問題,它不會在OpenCV的情況下解決這一問題。 – Dale
我添加了Opencv代碼將其放入上下文中 – Bull