1、at()函数遍历图像像素
函数at()对矩阵中某个像素进行读取或者对某个像素进行复制操作。但是效率并不高。
例如:uchar value = grayim.at<uchar>(i,j); //读出第i行第j列像素值
grayim.at<uchar>(i,j) = 128; //将第i行第j列像素值设置为128
//建立单通道的grayim以及3通道的colorim,遍历图像中所有的像素并赋值
#include <iostream>
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main(int argc, char* argv[]){
Mat grayim(600, 800, CV_8UC1);
Mat colorim(600, 800, CV_8UC3);
//遍历所有像素,并设置像素值
for( int i = 0; i < grayim.rows; ++i){
for( int j = 0; j < grayim.cols; ++j ){
grayim.at<uchar>(i,j) = (i+j)%255;
}
} //遍历所有像素,并设置像素值 for( int i = 0; i < colorim.rows; ++i){ for( int j = 0; j < colorim.cols; ++j ){ Vec3b pixel; pixel[0] = i%255

本文是OpenCV学习笔记,重点介绍了at()函数在图像像素读写中的应用。虽然该函数方便,但效率较低。例如,可以使用at<uchar>(i,j)读取或设置图像中第i行第j列像素的值。"
88941188,1863691,使用subprocess模块优化Python子进程管理,"['Python编程', '进程控制', '系统编程']
最低0.47元/天 解锁文章
3348

被折叠的 条评论
为什么被折叠?



