OpenCV编程->cvGet2D函数

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情



// Returns specifed element of 2D array
CV_IMPL  CvScalar
cvGet2D( const CvArr* arr, int y, int x )
{
    CvScalar scalar = {{0,0,0,0}};
    int type = 0;
    uchar* ptr;

    if( CV_IS_MAT( arr ))
    {
        CvMat* mat = (CvMat*)arr;

        if( (unsigned)y >= (unsigned)(mat->rows) ||
            (unsigned)x >= (unsigned)(mat->cols) )
            CV_Error( CV_StsOutOfRange, "index is out of range" );

        type = CV_MAT_TYPE(mat->type);
        ptr = mat->data.ptr + (size_t)y*mat->step + x*CV_ELEM_SIZE(type);
    }
    else if( !CV_IS_SPARSE_MAT( arr ))
        ptr = cvPtr2D( arr, y, x, &type );
    else
    {
        int idx[] = { y, x };
        ptr = icvGetNodePtr( (CvSparseMat*)arr, idx, &type, 0, 0 );
    }

    if( ptr )
        cvRawDataToScalar( ptr, type, &scalar );

    return scalar;
}


cvGet2D()和cvSet2D()对像素点进行处理 找到一篇讲解的很好地博客,网址为:OpenCV像素点处理获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGet2D()和cvSet2D()两个函数加上一个CvScalar结构体做到。 opencv中,CvScalar结构为: typedef struct CvScalar { double val[4]; 阅读详情

相关推荐

Qt 侧边菜单栏+堆叠窗口stackedWidget

效果如下:环境:Qt 6.6.2 MSVC2019 64bit。

weixin_41033231的博客 1546

初学OpenCV之图像坐标读取函数cvGet2D()

   由于专业原因,最近涉及到了OpenCV函数库的使用,我是结合C++。今天的目标是把一幅灰度图像的边缘进行提取,然后将其边缘坐标保存至文本(如.txt)。 当然,对于有C++编程基础的人来说这很简单,用ofstream类声明一个对象fout创建文本文件并进行写入即可: 1 ofstream fout("points2D.txt"); 但是这里要注意的是,图像坐标读取函数cvGe...

weixin_34235135的博客 1020

18、公开可用的PPG数据库介绍

本文介绍了多个公开可用的PPG(光电容积描记)数据库,包括PPG-BP数据库、MIMIC II波形数据库、运动期间手腕PPG数据库以及指尖PPG与呼吸数据库等。这些数据库提供了丰富的生理信号数据,适用于动脉血压检测、呼吸频率估计、运动干扰去除以及基于PPG的生物特征识别等研究。每个数据库的数据来源、受试者信息、信号特点和下载方式均有详细介绍,并展示了如何利用这些数据库进行信号分析和算法评估。

salt的博客 362

cvGet2D()函数

OpenCV CvGet2D函数作用:获取图像的颜色值

Xiaoli_Coding 1万+

OPencv函数库及部分示例 | 转载

常用的Opencv函数汇总(持续更新…) opencv函数说明 1、cvLoadImage:将图像文件加载至内存; 2、cvNamedWindow:在屏幕上创建一个窗口; 3、cvShowImage:在一个已创建好的窗口中显示图像; 4、cvWaitKey:使程序暂停,等待用户触发一个按键操作; 5、cvReleaseImage:释放图像文件所分配的内存; 6、cvDestroyWindow:销毁显示图像文件的窗口; 7、cvCreateFileCapture:通过参数设置确定要读入的AVI文件; 8、cv

weixin_46096297的博客 1367

cvGet2D函数

原文地址:cvGet2D函数作者:denu1024 返回特殊的数组元素  CvScalar cvGet2D( const CvArr* arr, int idx0, int idx1 ); arr 输入数组. idx0 元素下标第一个以0为基准的成员 idx1 元素下标第二个以0为基准的成员 idx2 元素下标第三个以0为基准的成员 idx 元素下标数组 函数cvGet*D 返回

GAMELOFT9----纸上得来终觉浅,绝知此事要躬行 1191

OpenCV学习笔记6】常用的OpenCV函数速查

常用的OpenCV函数速查 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com  1、cvLoadImage:将图像文件加载至内存; 2、cvNamedWindow:在屏幕上创建一个窗口; 3、cvShowImage:在一个已创建好的窗口中显示图像; 4、cvWaitKey:使程序暂停,等待用户触发一个按键操作; 5、cvReleaseImage:释放图像...

weixin_34198881的博客 1931

OpenCv入门(三)-图像处理基本函数01

图像处理 1、图像的内存分配与释放 (1) 分配内存给一幅新图像: IplImage* cvCreateImage(CvSize size, int depth, int channels);   size: cvSize(width,height); depth: 像素深度: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_

DUKE的博客 373

OpenCV】访问图像中每个像素的值

转载请注明出处:http://blog.csdn.net/xiaowei_cqu/article/details/7557063 IplImage是OpenCV中CxCore部分基础的数据结构,用来表示图像,其中Ipl是Intel Image Processing Library的简写。以下是IplImage的结构分析(来自OpenCV中文网站:http://www.opencv.org.cn...

爱.NET 289

针对OpenCV中IplImage类型中像素的操作

1、可以变成灰度图也可以不变。这里假设你的图像都是IPL_DEPTH_8U类型。 2、如果变成灰度图,就是单通道图像,获取的就是每一个像素点的灰度值。 IplImage* img = cvLoadImage("test.bmp", 0); for (int i = 0; i height; i++) { for (int j = 0; j width; j++) { //方法

7号唱片街 1205

Opencv中Get2D()与cvSet2D() 的坐标问题

Opencv中Get2D()与cvSet2D() 的坐标问题

信息学院嵌入式实验室 3342

opencv几个函数

1、    对于图像中的某一像素点 P(x, y), 在我们正常的坐标系中,x代表其横坐标,y代表其纵坐标,而在opencv函数 cvGet2D()与cvSet2D() 中,却行不通。cvGet2D() 的函数原型是 : CvScalar  cvGet2D (const CvArr * arr, int idx0, int idx1); 函数返回的是一个CvScalar 容器,其参数中也有两

yanHa007的专栏 913

有关OPenCV的几个库函数的使用

有关OPenCV的几个库函数的使用1) IplImage* cvCreateImage( CvSize size, int depth, int channels );  cvCreateImage是openCV中的一个函数OpenCV是Intel公司支持的开放计算机视觉库。   cvCreateImage:   创建头并分配数据   IplImage* cvCreateImage( CvSize

eit520的专栏 2517

cvGet2D的用法

CvScalar s;s = cvGet2D(src, j,i);//获取src图像中坐标为(i,j)的像素点的值s.val[0] 代表src图像BGR中的B通道的值~int nXY = cvGet2D( feImg, y, x).val[0];等价于s = cvGet2D( feImg, y, x);nXY = s.val[0] 转载于:https://www.cnblogs.co...

dliverol30914的博客 498

openCV】基础操作

读取图片 Mat srcImage = imread("image1.jpg"); 判断图片是否为空 srcImage.empty();转为灰度图 Mat grayImage; cvtColor(srcImage,grayImage,CV_BGR2GRAY);获取/修改灰度图于(i,j)像素值 grayImage.at(i,j) = 0; 显示图片 imshow("Picture",g

纯洁可爱小昊昊的博客 1211

cvGet2D使用的注意事项

今天在使用cvGet2D这个函数的时候“莫名其妙”报out of range 的错误,如下图所示: 很纳闷,以前用的时候从来没这样过啊?思考再三,其中的参数i在[0, img->width-1], j在[0, img->height-1], 都没超图像的范围呀? 后来去查了一下发现了这样一句话: “对于图像中的某一像素点 P(x, y), 在我们正常的坐标系中,x代表其横坐标,y代表其纵坐

MaloFleur 2013

cvGet2DcvGetReal2D

前者是获得彩色图像的像素值 后者是获得单通道(灰度图)的像素值 如果图像是彩色图采用cvGet2D 如果图像是灰度图像采用cvGetReal2D 但是如果彩色图像,则不能采用cvGetReal2D 但是灰度图像可以使用cvGet2D 差别比较细微 尤其是其进行遍历像素获得像素值时,一定要注意 for(int i=0;i { for(int j=0;j { cvGetReal

woniu199166的博客 2473

cvGet?D与cvSet?D

cvGet?D用于获取数组中指定下标的元素值,cvSet?D用于为数组中指定下标的元素赋予值。 以cvGet2D和cvSet2D为例: CvScalar  cvGet2D (const CvArr * arr, int idx0, int idx1); void cvSet2D (const CvArr * arr, int idx0, int idx1, CvScalar valu

lxiaoxiaot的专栏 8783

OpenCV Mat和IplImage访问像素的方法总结

OpenCV Mat和IplImage访问像素的方法总结

m0_37302966的博客 705

Opencv--像素值变化后的图像显示

灰度图转为彩色图, 并不知道 RGB 与 灰度 的比例关系,只能简单地 设 一点的 R=G=B=灰度; 就算转成功了,看上去还是灰色。 if (img.type()==CV_8UC1) { //input image is grayscale cvtColor(img, cimg, CV_GRAY2RGB); } else {

samkieth 3042

OpenCV tricks 笔记

1. cvGet2D函数越界问题CvScalar cvGet2D( const CvArr* arr, int idx0, int idx1 ); 对于图像中的某一像素点 P(x, y), 在我们正常的坐标系中,x代表其横坐标,y代表其纵坐标,而在opencv函数 cvGet2D()与cvSet2D() 中,却行不通。 idx0代表是的行,即高度,对应于我们平常坐标系的y, idx1代

yetong_ 397
上一篇: OpenCV编程->cvCvtColor函数
下一篇: vim入门-安装
指尖热度
博客等级 码龄16年 619粉丝 319原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值