پر کردن محیط های بسته شده در تصویر - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

پر کردن محیط های بسته شده در تصویر

0 امتیاز
با سلام خدمت دوستان عزیز

(دلفی)
من نیاز دارم نقاطی رو که روی تصویر بسته شده است رو پر کنم
به عنوان مثال اگر دایره ای ، مربعی یا هر گونه اشکال هندسی رو، داخلشو پر کنم
با جستجویی که انجام دادم گفتند polygon خوبه
ولی هر چی گشتم نتونستم نمونه ای پیدا کنم ، از دوستان خواهشمندم اگر اطلاعااتی دارین در اختیارم بذارین
با تشکر
سوال شده شهریور 10, 1393  بوسیله ی delphi7_love (امتیاز 22)   2 4 6
دوباره تگ گذاری شد شهریور 11, 1393 بوسیله ی BlueBlade

1 پاسخ

+1 امتیاز

اول contour های داخل تصویر رو پیدا کنید بعد بوسیله drawContours داخلشون رو پر کنید .

این کد opencv/++c 

wrapper دلفی هم احتمالا به همین شکله .

#include <vector>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace std;
using namespace cv;

int main()
{
	cv::Mat img = cv::imread("F:\\curve.png");
	cvtColor(img, img, CV_BGR2GRAY);
	cv::imshow("input", img);
	vector <vector<Point>> contours;
	findContours(img, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
	drawContours(img, contours, -1, Scalar(255),-1);
	cv::imshow("output", img);
	cv::waitKey();
}

پردازش تصویر,کانتور

پاسخ داده شده شهریور 10, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
ویرایش شده دی 30, 1393 بوسیله ی haniye sarbazi
ممنون
کد دلفی نداشتین؟
اینو بگیر http://sourceforge.net/projects/opencv-delphi/  شاید این توابعی که من استفاده کردم  رو بتونی داخلش  پیدا کنی
...