【opencv】教程代码 —Histograms_Matching(1)反向投影:在给定图像中寻找特定的颜色或颜色分布...

1.  calcBackProject_Demo1.cpp 反向投影函数的使用

fb28454ed6f9c40f304ba4d1ae6e2b4d.png

7d4efd9ae1c05b736c96ca12b03db346.png

b46f909364c839a717a944517a6501d9.png

/**
 * @file BackProject_Demo1.cpp
 * @brief 示例代码,演示反向投影函数的使用
 * @author OpenCV团队
 */


#include "opencv2/imgproc.hpp" // 包括图像处理相关功能的头文件
#include "opencv2/imgcodecs.hpp" // 包括图像编码解码相关功能的头文件
#include "opencv2/highgui.hpp" // 包括高层GUI (图形用户界面) 功能的头文件


#include <iostream> // 包括标准输入输出流相关功能的头文件


using namespace cv; // 使用OpenCV命名空间中的内容,简化代码
using namespace std; // 使用标准命名空间中的内容,简化代码


/// 全局变量
Mat hue; // 创建一个Mat对象用来存储图像的色调(hue)通道
int bins = 25; // 设定直方图的柱子个数为25


/// 函数头
void Hist_and_Backproj(int, void* );


/**
 * @function main
 */
int main( int argc, char* argv[] )
{
    //! [读取图像]
    CommandLineParser parser( argc, argv, "{@input |Back_Projection_Theory0.jpg| 输入图像}" );
    samples::addSamplesDataSearchSubDirectory("doc/tutorials/imgproc/histograms/back_projection/images");
    Mat src = imread(samples::findFile(parser.get<String>( "@input" )) );
    if( src.empty() )
    {
        cout << "无法打开或找到图像!\n" << endl;
        cout << "用法: " << argv[0] << " <输入的图像>" << endl;
        return -1;
    }
    //! [读取图像]


    //! [将其转换为HSV颜色空间]
    Mat hsv;
    cvtColor( src, hsv, COLOR_BGR2HSV );
    //! [将其转换为HSV颜色空间]


    //! [仅使用色调(Hue)值]
    hue.create(hsv.size(), hsv.depth());
    int ch[] = { 0, 0 };
    mixChannels( &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值