tdholodok.ru
Log In

Smoothing edges change black color - OpenCV Q&A Forum

$ 7.50

4.5 (402) In stock

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

Edge-preserving smoothing filter using fast M-estimation method with an automatic determination algorithm for basic width

Particle Analysis

Automation of measurements inside an specific region using color threshold - Image Analysis - Image.sc Forum

MorphoLibJ

Automation of measurements inside an specific region using color threshold - Image Analysis - Image.sc Forum

How to make edges of OpenCV skin detection output “smooth”? - OpenCV Q&A Forum

Opencv Tutorials

Remote Sensing, Free Full-Text

MyRobotLab - OpenCV - How to find your balls - Tutorials - RobotShop Community

c++ - smoothing rough edges contour opencv - Stack Overflow

Related products

Edge Smoothing — oneIPL Specification documentation

Natural Hair Milk Smooth Edges Creme

How to smooth the edges of a low quality image? - OpenCV Q&A Forum

Smoothing the edge when generating the mesh : r/Unity3D

Edge Smoothing Gel 8oz.