pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

是否有公式可以確定給定 BGR 值的整體顏色?(Ope

Is there a formula to determine overall color given BGR values? (OpenCV and C++)(是否有公式可以確定給定 BGR 值的整體顏色?(OpenCV 和 C++))
本文介紹了是否有公式可以確定給定 BGR 值的整體顏色?(OpenCV 和 C++)的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在使用 C++ 和 OpenCV 制作一個函數,該函數將檢測圖像中像素的顏色,確定它所在的顏色范圍,并將其替換為通用顏色.例如,綠色的范圍可以從深綠色到淺綠色,程序會確定它仍然是綠色并用簡單的綠色替換它,從而使輸出圖像看起來非常簡單.一切都已設置,但我無法定義每個范圍的特征,并且很好奇是否有人知道或公式可以根據 BGR 值確定像素的整體顏色.如果沒有,我將不得不做很多實驗并自己制作,但如果已經存在可以節省時間的東西.我已經做了很多研究,但到目前為止還沒有發現任何東西.

I am making a function using C++ and OpenCV that will detect the color of a pixel in an image, determine what color range it is in, and replace it with a generic color. For example, green could range from dark green to light green, the program would determine that its still green and replace it with a simple green, making the output image very simple looking. everything is set up but I'm having trouble defining the characteristics of each range and was curious if anyone knows or a formula that, given BGR values, could determine the overall color of a pixel. If not I'll have to do much experimentation and make it myself, but if something already exists that'd save time. I've done plenty of research and haven't found anything so far.

推薦答案

如果你想讓你的圖像更簡單(即顏色更少),但好看,你有幾個選擇:

If you want to make your image simpler (i.e. with less colors), but good looking, you have a few options:

  • 一個簡單的方法是將圖像除以(整數除法)一個因子 N,然后乘以一個因子 N.

  • A simple approach would be to divide (integer division) by a factor N the image, and then multiply by a factor N.

或者您可以使用一些聚類算法(例如此處顯示的 kmeans 或中值切割算法)將圖像劃分為 K 種顏色.

Or you can divide your image into K colors, using some clustering algorithm such as kmeans showed here, or median-cut algorithm.

原圖:

減少顏色(量化,N = 64):

減少顏色(聚集,K = 8):

代碼量化:

#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

int main()
{
    Mat3b img = imread("path_to_image");

    imshow("Original", img);

    uchar N = 64;
    img  /= N;
    img  *= N;

    imshow("Reduced", img);
    waitKey();

    return 0;
}

代碼kmeans:

#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

int main()
{
    Mat3b img = imread("path_to_image");

    imshow("Original", img);

    // Cluster

    int K = 8;
    int n = img.rows * img.cols;
    Mat data = img.reshape(1, n);
    data.convertTo(data, CV_32F);

    vector<int> labels;
    Mat1f colors;
    kmeans(data, K, labels, cv::TermCriteria(), 1, cv::KMEANS_PP_CENTERS, colors);

    for (int i = 0; i < n; ++i)
    {
        data.at<float>(i, 0) = colors(labels[i], 0);
        data.at<float>(i, 1) = colors(labels[i], 1);
        data.at<float>(i, 2) = colors(labels[i], 2);
    }

    Mat reduced = data.reshape(3, img.rows);
    reduced.convertTo(reduced, CV_8U);


    imshow("Reduced", reduced);
    waitKey();

    return 0;
}

這篇關于是否有公式可以確定給定 BGR 值的整體顏色?(OpenCV 和 C++)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Assertion failed (size.widthgt;0 amp;amp; size.heightgt;0)(斷言失敗(size.width0 amp;amp; size.height0))
Rotate an image in C++ without using OpenCV functions(在 C++ 中旋轉圖像而不使用 OpenCV 函數)
OpenCV: process every frame(OpenCV:處理每一幀)
Why can#39;t I open avi video in openCV?(為什么我不能在 openCV 中打開 avi 視頻?)
OpenCV unable to set up SVM Parameters(OpenCV 無法設置 SVM 參數)
Convert a single color with cvtColor(使用 cvtColor 轉換單一顏色)
主站蜘蛛池模板: 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | 中细软知识产权_专业知识产权解决方案提供商 | 宿舍管理系统_智慧园区系统_房屋/房产管理系统_公寓管理系统 | 箱式破碎机_移动方箱式破碎机/价格/厂家_【华盛铭重工】 | CNC机加工-数控加工-精密零件加工-ISO认证厂家-鑫创盟 | 湖南成人高考报名-湖南成考网 | 雷达液位计_超声波风速风向仪_雨量传感器_辐射传感器-山东风途物联网 | 北京康百特科技有限公司-分子蒸馏-短程分子蒸馏设备-实验室分子蒸馏设备 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 磷酸肌酸二钠盐,肌酐磷酰氯-沾化欣瑞康生物科技 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 塑料托盘厂家直销-吹塑托盘生产厂家-力库塑业【官网】 | 打造全球沸石生态圈 - 国投盛世 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 德国GMN轴承,GMN角接触球轴承,GMN单向轴承,GMN油封,GMN非接触式密封 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 河北凯普威医疗器材有限公司,高档轮椅系列,推车系列,座厕椅系列,协步椅系列,拐扙系列,卫浴系列 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 工业胀紧套_万向节联轴器_链条-规格齐全-型号选购-非标订做-厂家批发价格-上海乙谛精密机械有限公司 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 贵州水玻璃_-贵阳花溪闽兴水玻璃厂 | WF2户外三防照明配电箱-BXD8050防爆防腐配电箱-浙江沃川防爆电气有限公司 | 亚克隆,RNAi干扰检测,miRNA定量检测-上海基屹生物科技有限公司 | 打包箱房_集成房屋-山东佳一集成房屋有限公司 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | 水篦子|雨篦子|镀锌格栅雨水篦子|不锈钢排水篦子|地下车库水箅子—安平县云航丝网制品厂 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 | 能量回馈_制动单元_电梯节能_能耗制动_深圳市合兴加能科技有限公司 | 浙江美尔凯特智能厨卫股份有限公司| Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 |