相关疑难解决方法(0)

使用cvtColor转换单个颜色

我有一种颜色,我想转换为不同的颜色空间.是否有可能使用cvtColor一上cv::Vec3f直接而无需创建一个1x1 cv::Mat和与像素填充它,使用cvtColorcv::Mat,然后让唯一的像素进行输出?我尝试了以下,但它似乎不喜欢传递一个向量.

有什么建议?

#include <iostream>

#include <opencv2/opencv.hpp>

int main(int, char*[])
{
    cv::Vec3f hsv;
    hsv[0] = .9;
    hsv[1] = .8;
    hsv[2] = .7;

    std::cout << "HSV: " << hsv << std::endl;

    cv::Vec3b bgr;
    cvtColor(hsv, bgr, CV_HSV2BGR); // OpenCV Error: Assertion failed (scn == 3 && (dcn == 3 || dcn == 4) && (depth == CV_8U || depth == CV_32F)) in cvtColor

    std::cout << "BGR: " << bgr << std::endl; 

    return EXIT_SUCCESS; …
Run Code Online (Sandbox Code Playgroud)

c++ opencv opencv3.0

7
推荐指数
1
解决办法
6171
查看次数

标签 统计

c++ ×1

opencv ×1

opencv3.0 ×1