的图像我已经使用OPENCV for android在动态相机视图中进行斑点检测。我想为设备的SD卡中存在的静态位图图像执行类似的功能。我尝试使用int android.graphics.Bitmap.getPixel(int x,int y),但它效率不高。处理需要很多时间。 所以,我想知道是否有可能使用openCV在位图图像中进行斑点检测?用于处理位图的OpenCV android
0
A
回答
2
您不应该直接在位图上进行处理,因为它会变慢。 最好将位图转换为opencv Mat结构,处理Mat,然后将其转换回位图。
要使用opencv检测斑点,可用的最佳工具是Imgproc.findContours如果搜索,您会发现很多关于findContours的内容。
要做到位图转换垫:
- 位图来垫:Utils.bitmapToMap
- 垫为位图:Utils.matToBitmap
0
而不是使用Bitmap.getPixel(x,y),您应该真的考虑将所有像素都放入数组中并以这种方式进行处理。
Bitmap b=BitmapFactor.decodeFromFile("");
int[] pixels=new int[b.getWidth()*b.getHeight()];
bitmap.getPixels(pixels, 0, b.getWidth(), 0, 0, b.getWidth(), b.getHeight());
for(int x=0;x<w;x++){
for(int y=0;y<h;y++){
int pixel=pixels[y*b.getWidth()+x];
// do something with that pixel
}
}
bitmap.setPixels(pixels, 0, b.getWidth(), 0, 0, b.getWidth(), b.getHeight());
相关问题
- 1. OpenCV指向位图处理的指针
- 2. SJ4000 + OpenCV + Raspberry Pi用于图像处理
- 3. Android位图处理
- 4. Android中的OpenCV图像处理
- 5. OpenCV图像处理
- 6. Android:图像处理库(替代openCV)
- 7. 图像处理的OpenCV
- 8. 处理图像 - OpenCV的
- 9. 用于android的单声道内存高效位图处理
- 10. OpenCV Mat处理Android JNI
- 11. 适用于Android的图像处理库
- 12. 基于信号量的基于opencv的图像处理同步
- 13. 的Android高效的位图处理
- 14. OpenCV 2.2图像处理
- 15. Tesseract&OpenCV - 处理图像
- 16. 使用android openCV实时视频处理
- 17. Android和OpenCV使用BlockingQueue多处理
- 18. OpenCV用于图像处理的神经网络
- 19. OpenCV与MATLAB(用于图像处理的形状测量功能)
- 20. OpenGL中的Android位图处理
- 21. 位图到垫子? android opencv
- 22. Android定位处理?
- 23. 使用openCV和python处理图像
- 24. kivy有opencv或图像处理库吗?
- 25. 在Android上使用Camera2进行OpenCV图像处理
- 26. OpenCV属性值位于何处?
- 27. 在Xamarin.Android中使用位图处理Android内存Android的内存
- 28. 使用RecyclerView处理位图
- 29. 在android中处理大位图
- 30. 16位图像和Android处理