要读取特定像素的值,我们可以使用“at”或“直接访问”方法。在这里,我们将学习这两种方法。让我们从“at”方法开始。以下程序读取 RGB 图像中位于 (10, 29) 处的像素值。示例#include #include using namespace std; using namespace cv; int main() { Mat image;//获取图像矩阵// image = imread("sky.jpg");//加载图像// int x = image.at(10, 29)[0];//获取像素值// int y = image.at(10, 29)[1];//获取像素值// int z = image.at(10, 29)[2];//获取像素值// cout
在之前的方法(“at”方法)中,我们在访问像素值时需要指定图像类型。还有一种方法比“at”方法更简单。它被称为直接访问方法。要使用此方法访问像素值,我们需要指定 Mat 类型,例如 Mat、Mat、Mat 等。以下程序演示了如何在 OpenCV 中使用直接访问方法更改像素值。示例#include #include using namespace cv;//声明 cv 命名空间 using namespace std; void direct_access(Mat_ &image, int n){ //声明函数// for (int x = 0; x < n; x++){ //初始化一个 ... 阅读更多
数字图像由像素组成。使用 OpenCV,读取像素值很容易。但是,如果我们想获取像素值,则必须分别处理单个通道。在这里,我们正在将图像加载到名为“cimage”的矩阵中,然后使用“cvtColor(cimage, img, COLOR_BGR2GRAY);”将其转换为图像并将其存储在名为“img”的矩阵中。以下程序读取图像的像素值并在控制台窗口中显示这些值。示例#include #include #include using namespace std; using namespace cv; int main() { int x;//声明一个整数变量来保存像素值// ... 阅读更多