OpenCV轮廓最大内接矩形(带角度)-计算与绘制(Python / C++源码)

实现效果

OpenCV获取轮廓/Blob最大内接矩形(带角度)

实现源码

一、C++ OpenCV实现:

#include "pch.h"
#include <iostream>
#include<opencv2/opencv.hpp>

using namespace cv;
using namespace std;



Rect findMinRect(const Mat1b& src)
{
	Mat1f W(src.rows, src.cols, float(0));
	Mat1f H(src.rows, src.cols, float(0));

	Rect maxRect(0, 0, 0, 0);
	float maxArea = 0.f;

	for (int r = 0; r < src.rows; ++r)
	{
		for (int c = 0; c < src.cols; ++c)
		{
			if (src(r, c) == 0)
			{
				H(r, c) = 1.f + ((r > 0) ? H(r - 1, c) : 0);
				W(r, c) = 1.f + ((c > 0) ? W(r, c - 1) : 0);
			}

			float minw = W(r, c);
			for (int h = 0; h < H(

猜你喜欢

转载自blog.csdn.net/stq054188/article/details/124993664