By A Mystery Man Writer
I am getting foreground image from grabCut algorithm and then i apply below algorithm to smooth its edges. It is working fine and smoothing edges but it is also changing black color in the image. You can see for this image it is working fine for this image but for this image it is changing black color please tell me how to fix this. This is my code for edge smoothing and i got it from Image edge smoothing with opencv #include <iostream> #include <vector> #include <string> #include <fstream> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; int main(int argc, char **argv) { namedWindow("originalImage"); namedWindow("grabCutImage"); namedWindow("smoothImage"); Mat originalImage = imread("../data/original_image_1.jpg"); Mat grabCutImage = imread("../data/grab_cut_image_1.png"); // got from grabcut algorithm originalImage.convertTo(originalImage, CV_32FC3, 1.0 / 255.0); resize(originalImage, originalImage, grabCutImage.size()); grabCutImage.convertTo(grabCutImage, CV_32FC3, 1.0 / 255.0); Mat bg = Mat(grabCutImage.size(), CV_32FC3); bg = Scalar(1.0, 1.0, 1.0); Mat mask; Mat img_gray; cvtColor(grabCutImage, img_gray, COLOR_BGR2GRAY); img_gray.convertTo(mask, CV_32FC1); threshold(1.0 - mask, mask, 0.9, 1.0, THRESH_BINARY_INV); GaussianBlur(mask, mask, Size(21, 21), 11.0); Mat smooth; vector<Mat> ch_img(3); vector<Mat> ch_bg(3); split(originalImage, ch_img); split(bg, ch_bg); ch_img[0] = ch_img[0].mul(mask) + ch_bg[0].mul(1.0 - mask); ch_img[1] = ch_img[1].mul(mask) + ch_bg[1].mul(1.0 - mask); ch_img[2] = ch_img[2].mul(mask) + ch_bg[2].mul(1.0 - mask); merge(ch_img, smooth); merge(ch_bg, bg); imshow("originalImage", originalImage); imshow("grabCutImage", grabCutImage); imshow("smoothImage", smooth); waitKey(0); destroyAllWindows(); } here are images i am using
Solved: My brushes create 'disconnected' lines - Adobe Community - 12170172
How to make a one object FOMO classification, have fewer false positives? - Help - Edge Impulse
What is OpenCV? The Complete Guide (2024)
python - Smoothing Edges of a Binary Image - Stack Overflow
How to make a one object FOMO classification, have fewer false positives? - Help - Edge Impulse
MyRobotLab - OpenCV - How to find your balls - Tutorials - RobotShop Community
python - How can I smooth the segmented blob? - Stack Overflow
16MP Arducam: Pattern NOT Found - LightBurn Software Questions - LightBurn Software Forum
Configuring Stereo Depth — DepthAI documentation
Edge-preserving smoothing filter using fast M-estimation method with an automatic determination algorithm for basic width
Unity - Manual: WebGL Player settings
Quantified emotion analysis based on design principles of color feature recognition in pictures
lacking in TouchDesigner work is natural camera
Inspection Methods for Metal Surfaces: Image Acquisition and Algorithms for the Characterization of Defects
How to make edges of OpenCV skin detection output “smooth”? - OpenCV Q&A Forum