CUDA:实现把输入图片搞成灰度图片
以下是一个使用 CUDA 将输入图像转换为灰度图像的示例代码:
#include <iostream>
#include <opencv2/opencv.hpp>
__global__ void rgbToGray(const unsigned char* inputImage, unsigned char* outputImage, int width, int height) {
int col = blockIdx.x * blockDim.x + threadIdx.x;
int row = blockIdx.y * blockDim.y + threadIdx.y;
if (col < width && row < height) {
int grayOffset = row * width + col;
int rgbOffset = grayOffset * 3;
unsigned char r = inputImage[rgbOffset];
unsigned char g = inputImage[rgbOffset + 1];
unsigned char b = inputImage[rgbOffset + 2];
outputImage[grayOffset] = static_cast<unsigned char>(0.299f * r + 0.587f * g + 0.114f * b);
}
}
int main() {
// Read input image usin