我有一组图像文件,我想将它们的颜色数减少到64.我怎么能用OpenCV做到这一点?
我需要这个,所以我可以使用64大小的图像直方图.我正在实施CBIR技术
我想要的是4位调色板的颜色量化.
好吧所以我是opencv的新手,我已经设法执行一个对我来说似乎"好"的抓取,除了边缘非常变形,我想要获得逼真的边缘,可能会模糊边缘以获得完美的图像,我注意到的另一件事是整个过程后颜色往往太亮了我想减少活力到下面可以接受的是我的代码
private Bitmap backGrndErase()
{
color = new Scalar(255, 0, 0, 255);
dst = new Mat();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.myshirt);
Log.d(TAG, "bitmap: " + bitmap.getWidth() + "x" + bitmap.getHeight());
bitmap = ResizeImage.getResizedBitmap(bitmap, calculatePercentage(40, bitmap.getWidth()), calculatePercentage(40, bitmap.getHeight()));
bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
Log.d(TAG, "bitmap 8888: " + bitmap.getWidth() + "x" + bitmap.getHeight());
Mat img = new Mat();
Utils.bitmapToMat(bitmap, img);
Point p1 = new Point((img.cols()/10), (img.rows()/10));
Point p2 = new Point((img.cols()-img.cols()/10), (img.rows()-img.rows()/10));
Rect rect = new Rect(p1,p2);
int border = 20;
int …Run Code Online (Sandbox Code Playgroud)