mirror of
https://github.com/opencv/opencv.git
synced 2024-12-11 14:39:11 +08:00
d752bac43f
Change max distance at distanceTransform #24234 ### Pull Request Readiness Checklist resolves https://github.com/opencv/opencv/issues/23895 related: https://github.com/opencv/opencv/pull/12278 * DIST_MASK_3 and DIST_MASK_5 maximal distance increased from 8192 to 65533 +/- 1 * Fix squares processing at DIST_MASK_PRECISE * - [ ] TODO: Check with IPP ```cpp cv::Mat gray = cv::imread("opencv/samples/data/stuff.jpg", cv::ImreadModes::IMREAD_GRAYSCALE); cv::Mat gray_resize; cv::resize(gray, gray_resize, cv::Size(70000,70000), 0.0, 0.0, cv::INTER_LINEAR); gray_resize = gray_resize >= 100; cv::Mat dist; cv::distanceTransform(gray_resize, dist, cv::DIST_L2, cv::DIST_MASK_5, CV_32F); double minVal, maxVal; minMaxLoc(dist, &minVal, &maxVal); dist = 255 * (dist - minVal) / (maxVal - minVal); std::cout << minVal << " " << maxVal << std::endl; cv::Mat dist_resize; cv::resize(dist, dist_resize, cv::Size(1024,1024), 0.0, 0.0, cv::INTER_LINEAR); cv::String outfilePath = "test_mask_5.png"; cv::imwrite(outfilePath, dist_resize); ``` mask | 4.x | PR | ----------|--------------|-------------- DIST_MASK_3 | <img src="https://github.com/opencv/opencv/assets/25801568/23e5de76-a8ba-4eb8-ab03-fa55672834be" width="128"> | <img src="https://github.com/opencv/opencv/assets/25801568/e1149f6a-49d6-47bd-a2a8-20bb7e4dafa4" width="128"> | DIST_MASK_5 | <img src="https://github.com/opencv/opencv/assets/25801568/98aba29b-8865-4b9a-8066-669b16d175c9" width="128"> | <img src="https://github.com/opencv/opencv/assets/25801568/54f62ed2-9ef6-485f-bd63-48cc96accd7d" width="128"> | DIST_MASK_PRECISE | <img src="https://github.com/opencv/opencv/assets/25801568/c4d79451-fd7a-461f-98fc-13060c63f473" width="128"> | <img src="https://github.com/opencv/opencv/assets/25801568/b5bfcaf5-bc48-40ba-b8e3-d000e5ab48db" width="128">| See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch - [x] There is a reference to the original bug report and related work - [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [x] The feature is well documented and sample code can be built with the project CMake |
||
---|---|---|
.. | ||
ImgprocTest.java | ||
MomentsTest.java | ||
Subdiv2DTest.java |