gpt4 book ai didi

c++ - 从图像中删除黑色背景。

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:40 25 4
gpt4 key购买 nike

我是图像处理和开发的新手。我使用过 opencv,我需要从给定图像中提取圆圈。给定 x、y 坐标的那个圆在 Oder 中是(半径)来做到这一点,我使用了以下代码。但我的问题是我必须采用黑色矩形。因此图像 block 具有不需要的黑色像素。我如何只保存圈子?

我的代码

double save_key_points(Mat3b img, double x, double y, double radius, string 

filename, string foldername)
{

// print image height and width first and check.
Vec3f circ(x, y, radius);

// Draw the mask: white circle on black background
Mat1b mask(img.size(), uchar(0));

circle(mask, Point(circ[0], circ[1]), circ[2], Scalar(255), CV_FILLED);


// Compute the bounding box
Rect bbox(circ[0] - circ[2], circ[1] - circ[2], 2 * circ[2], 2 * circ[2]);

// Create a black image
Mat3b res(img.size(), Vec3b(0, 0, 0));

// Copy only the image under the white circle to black image
img.copyTo(res, mask);

// Crop according to the roi
res = res(bbox);

//remove black but doesn't work.
Mat tmp, alpha;
threshold(res, alpha, 100, 255, THRESH_BINARY);
// Save the image
string path = "C:\\Users\\bb\\Desktop\\test_results\\test_case8\\" + foldername + filename + ".png";

imwrite(path, res);
Mat keypointimg = imread(path, CV_LOAD_IMAGE_GRAYSCALE);

//print the cordinate of one patch.
cordinate_print(keypointimg, radius);

}

(这里我想要没有黑色背景) Out put Patch

最佳答案

如果我正确理解您的要求,您可以从图像中去除黑色,您可以使用 mask 。面具可以突出显示某种颜色的任何东西,或者在您的情况下突出显示黑色阴影。查看此实现的链接,看看它是否是您要查找的内容。它在 python 中,但可以很容易地适应。

Image Filtering

关于c++ - 从图像中删除黑色背景。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41036922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com