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 轉換單一顏色)
主站蜘蛛池模板: 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 「钾冰晶石」氟铝酸钾_冰晶石_氟铝酸钠「价格用途」-亚铝氟化物厂家 | 南京租车,南京汽车租赁,南京包车,南京会议租车-南京七熹租车 | 砂石生产线_石料生产线设备_制砂生产线设备价格_生产厂家-河南中誉鼎力智能装备有限公司 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 合肥办公室装修 - 合肥工装公司 - 天思装饰 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 高温热泵烘干机,高温烘干热泵,热水设备机组_正旭热泵 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | 哔咔漫画网页版在线_下载入口访问指引 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | 广东泵阀展|阀门展-广东国际泵管阀展览会 | 电车线(用于供电给电车的输电线路)-百科 | 珠光砂保温板-一体化保温板-有釉面发泡陶瓷保温板-杭州一体化建筑材料 | 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 浙江寺庙设计-杭州寺院设计-宁波寺庙规划_汉匠 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 安平县鑫川金属丝网制品有限公司,防风抑尘网,单峰防风抑尘,不锈钢防风抑尘网,铝板防风抑尘网,镀铝锌防风抑尘网 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 市政路灯_厂家-淄博信达电力科技有限公司| 浙江美尔凯特智能厨卫股份有限公司 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 重庆波纹管|重庆钢带管|重庆塑钢管|重庆联进管道有限公司 | 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 智能监控-安防监控-监控系统安装-弱电工程公司_成都万全电子 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 成都装修公司-成都装修设计公司推荐-成都朗煜装饰公司 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 锂电叉车,电动叉车_厂家-山东博峻智能科技有限公司 |