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
Opencv Python Tutroals, PDF, Python (Programming Language)
Image Transformations Using OpenCV in Python - Comet
Transparency in Text Textures? - Beginners - TouchDesigner forum
Image Processing for Dummies with C# and GDI+ Part 3 - Edge Detection Filters - CodeProject
Quantified emotion analysis based on design principles of color feature recognition in pictures
python - Smoothing polygons in contour map? - Geographic Information Systems Stack Exchange
Python OpenCV - Smoothing and Blurring - GeeksforGeeks
How Taichi Fuels GPU-accelerated Image Processing: A Beginner to Expert Guide
PDF) A Benchmark for Edge-Preserving Image Smoothing
Smooth or blur image edges using opencv - OpenCV Q&A Forum
python - Smoothing edges of contours - Stack Overflow
Implementing the Max RGB filter in OpenCV - PyImageSearch
2011 · opencv/opencv Wiki · GitHub