"#include \n#include \n\nstruct RGBColor {\n int r;\n int g;\n int b;\n};\n\n// 计算欧氏距离\ndouble calculateEuclideanDistance(RGBColor color1, RGBColor color2) {\n int deltaR = color1.r - color2.r;\n int deltaG = color1.g - color2.g;\n int deltaB = color1.b - color2.b;\n \n return std::sqrt(deltaRdeltaR + deltaGdeltaG + deltaB*deltaB);\n}\n\n// 判断相似度\nboolean isSimilar(RGBColor color1, RGBColor color2, double threshold) {\n double distance = calculateEuclideanDistance(color1, color2);\n \n if (distance <= threshold) {\n return true;\n }\n \n return false;\n}\n\nint main() {\n RGBColor color1 = {255, 0, 0}; // 红色\n RGBColor color2 = {255, 255, 0}; // 黄色\n double threshold = 50.0;\n \n if (isSimilar(color1, color2, threshold)) {\n std::cout << "Colors are similar." << std::endl;\n } else {\n std::cout << "Colors are not similar." << std::endl;\n }\n \n return 0;\n}\n"在上述代码中,定义了一个RGBColor结构体表示RGB颜色,包含红、绿、蓝三个分量。calculateEuclideanDistance函数用于计算两个颜色之间的欧氏距离。isSimilar函数用于判断两个颜色是否相似,根据欧氏距离与设定的阈值进行比较。\n\n在main函数中,我们定义了两个颜色color1color2,并设定了一个阈值threshold为50.0。通过调用isSimilar函数来判断这两个颜色是否相似,如果相似则输出"Colors are similar.",否则输出"Colors are not similar."。\n\n你可以根据实际需求修改颜色和阈值的值,并根据实际情况调整判断相似度的逻辑。

C++ RGB 颜色相似度判断方法及代码示例

原文地址: https://www.cveoy.top/t/topic/qrtw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录