使用OpenCV获取图像某点的颜色值,并设置某点的颜色


Posted in Python onJune 02, 2020

以下用OpenCV实现获取图像中某点的颜色值,并设置某点区域的颜色

#include <opencv2\opencv.hpp>
using namespace cv;
 
vector<char*> listFiles(const char * dir);
int main()
{
 Mat img = imread("D:\\OpencvTest\\test.jpg");
 Scalar color = img.at<Vec3b>(150, 150);//读取原图像(150, 150)的BGR颜色值,如果是灰度图像,将Vec3b改为uchar
 for (size_t row=0; row<50; row++)
 for (size_t col=0;col<img.cols;col++)
 {
  //设置原图像中某点的BGR颜色值
  img.at<Vec3b>(row, col) = Vec3b(color(0), color(1), color(2));
 
 }
 cv::circle(img, Point(150, 150), 4, cv::Scalar(0, 0, 255));//在图像中画出特征点,2是圆的半径
 imshow("img", img);
 waitKey(0);
 return 0;
}

运行效果:

使用OpenCV获取图像某点的颜色值,并设置某点的颜色

补充知识:opencv中对图片的二值化操作并提取特定颜色区域

我就废话不多说了,大家还是直接看代码吧!

#include<opencv2/core/core.hpp> 
#include<opencv2/highgui/highgui.hpp> 
#include<opencv2/imgproc/imgproc.hpp> 
#include <vector>
#include<iostream> 
#include<string>

using namespace std;
using namespace cv;
//bgr图像 
Mat bgr;
//HSV图像 
Mat hsv;
//色相 
int hmin = 0;//h分量取下限
int hmax = 180;//h分量取上限
int h_Max = 180; //h分量可取的最大值
//饱和度 
int smin = 0;//s分量取下限
int smax = 255;//s分量取上限
int s_Max = 255;//s分量可取的最大值
//亮度 
int vmin = 0;//v分量取下限
int vmax = 255;//v分量取上限
int v_Max = 255;//v分量可取的最大值

string windowName = "src";

string dstName = "dst";
//输出图像 
Mat dst;
//回调函数 
void callBack(int, void*)
{
  //输出图像分配内存 
  dst = Mat::zeros(bgr.size(), bgr.type());
   
  Mat mask;
  inRange(hsv, Scalar(hmin, smin, vmin), Scalar(hmax, smax, vmax), mask);
   
  for (int r = 0; r < bgr.rows; r++)
  {
    for (int c = 0; c < bgr.cols; c++)
    {
      if (mask.at<uchar>(r, c) == 255)
      {
        dst.at<Vec3b>(r, c)[0] = bgr.at<Vec3b>(r, c)[0];
        dst.at<Vec3b>(r, c)[1] = bgr.at<Vec3b>(r, c)[1];
        dst.at<Vec3b>(r, c)[2] = bgr.at<Vec3b>(r, c)[2];
      }
    }
  }
  imshow("mask", mask);
  //输出图片
  imshow("dst", dst);
}
int main()
{
  //输入图片 
  Mat srcImage = imread("C:\\Users\\Administrator\\Desktop\\0001.jpg");
  if (!srcImage.data){
    cout << "图片读取失败" << endl;
    system("pause");
    return -1;
  }
  imshow(windowName, srcImage);
  bgr = srcImage;
  //颜色空间转换 
  cvtColor(bgr, hsv, COLOR_BGR2HSV);
  //定义输出图像的显示窗口 
  namedWindow(dstName, 0);
  //调节色相 H 
  createTrackbar("hmin", dstName, &hmin, h_Max, callBack);
  createTrackbar("hmax", dstName, &hmax, h_Max, callBack);
  //调节饱和度 S 
  createTrackbar("smin", dstName, &smin, s_Max, callBack);
  createTrackbar("smax", dstName, &smax, s_Max, callBack);
  //调节亮度 V 
  createTrackbar("vmin", dstName, &vmin, v_Max, callBack);
  createTrackbar("vmax", dstName, &vmax, v_Max, callBack);
  callBack(0, 0);
  waitKey(0);
  return 0;
}

以上这篇使用OpenCV获取图像某点的颜色值,并设置某点的颜色就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python调用cmd复制文件代码分享
Dec 27 Python
Python深入学习之特殊方法与多范式
Aug 31 Python
5种Python单例模式的实现方式
Jan 14 Python
Python基础语言学习笔记总结(精华)
Nov 14 Python
Python3.6安装及引入Requests库的实现方法
Jan 24 Python
用python给自己做一款小说阅读器过程详解
Jul 11 Python
Python使用微信接入图灵机器人过程解析
Nov 04 Python
PyQt5多线程刷新界面防假死示例
Dec 13 Python
解决Python使用列表副本的问题
Dec 19 Python
Python任务调度模块APScheduler使用
Apr 15 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
Apr 17 Python
图文详解matlab原始处理图像几何变换
Jul 09 Python
如何利用python web框架做文件流下载的实现示例
Jun 02 #Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
Jun 02 #Python
Java多线程实现四种方式原理详解
Jun 02 #Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
Jun 02 #Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
Jun 02 #Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 #Python
Python几种常见算法汇总
Jun 02 #Python
You might like
php 文件夹删除、php清除缓存程序
2009/08/25 PHP
php中实现记住密码自动登录的代码
2011/03/02 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
python连接oracle数据库实例
2014/10/17 Python
python执行外部程序的常用方法小结
2015/03/21 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
C语言笔试题
2014/09/04 面试题
给交警的表扬信
2014/01/12 职场文书
国际会议邀请函范文
2014/01/16 职场文书
幼儿园秋游活动方案
2014/01/21 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
会走路的树教学反思
2014/02/20 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
请假条格式范文
2014/04/10 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
学生安全责任书范本
2014/07/24 职场文书
庆祝国庆节标语
2014/10/09 职场文书
运动会表扬稿
2015/01/16 职场文书
我爱我班主题班会
2015/08/13 职场文书
三年级作文之小小梦想
2019/12/06 职场文书