تفاضل دو مقدار Hue - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تفاضل دو مقدار Hue

0 امتیاز
سلام.

از آنجاییکه اطلاع دارید تو opencv مقدار hue تو بازه 0-180 یا 0-360 است .این مقادیر به صورت دورانی هستند یعنی اختلاف مقدار 2 با 178 مقدار 3 است نه 176 .

چطور میشه مقادیر دورانی را از هم تفاضل صحیح گرفت؟
سوال شده خرداد 24, 1396  بوسیله ی خمیده (امتیاز 96)   9 17 25

1 پاسخ

+1 امتیاز

در حالت کلی برای محاسبه تفاضل دورانی از روش زیر استفاده کنید فرض شده حد پایین صفر و حد بالا توسط کاربر انتخاب میشه.

template <typename T>
	T abssDiffCircularValue(T val1, T val2, T upper_range) {
		auto dif1 = val1 - val2;
		if (dif1 < 0)
			dif1 = upper_range + dif1;
		auto dif2 = val2 - val1;
		if (dif2 < 0)
			dif2 = upper_range + dif2;

		return std::min(dif1, dif2);

	}

 

پاسخ داده شده خرداد 31, 1396 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
...