opencv 入门基础

这是深圳大学于老师的文档里的程序,就是为了巩固基础,加深对图像的理解。

include

include

using namespace std;
using namespace cv;
int main()
{
namedWindow(“灰度图”, 1);
namedWindow(“彩色图”, 1);

Mat grayImage (600, 800, CV_8UC1);
Mat colorImage(600, 800, CV_8UC3);

for (int i = 0; i < grayImage.rows; i++)
{
    uchar *p = grayImage.ptr<uchar>(i);
    for (int j = 0; j < grayImage.cols; j++)
        p[j] =  j % 255; // 
}
for (int i = 0; i < colorImage.rows; i++)
{
    Vec3b*p = colorImage.ptr<Vec3b>(i);//获取第i行首像素指针
    for (int j = 0; j < colorImage.cols; j++)
    {
        p[j][0] = j % 255;//B
        p[j][1] = j % 255;//G
        p[j][2] = i%255;//R

    }
}
    imshow("灰度图", grayImage);
    imshow("彩色图", colorImage);
    waitKey(0);
    return 0;

}`

“`运行程序后的灰度图和彩色图
对于计算机图像而言,都是数字,因为是8位的图像,最高像素255,这里的边长设为600*800,所以图中横向有三段多一点的小方格图,800除以255,刚好是3点多,也就印证了计算机数字图像显示图像的原理。用qq截图去看的话,也会得到RGB的值,在图像移中,也比较符合规律。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值