gpt4 book ai didi

c++ - 更改 RGB 值

转载 作者:太空宇宙 更新时间:2023-11-04 07:42:55 25 4
gpt4 key购买 nike

我正在尝试用另一个图像更改图像的一部分我找不到合并功能所以我碰巧可以更改我想用其他图像 RGB 值更改的部分的 rgb 值吗

谢谢你的建议

最佳答案

如果您所说的更改是指替换,那么您可以使用图像 ROI(感兴趣区域)函数来直接替换矩形区域将您的原始图像与来自另一幅图像的矩形区域相结合非常高效

假设您的原始图像存储在 A 中,您想要使用图像 B 中的像素更改其中的一部分(矩形区域)。

更新:这是 C 语言的代码

/**** C ****/

// Acquire Image A and B (here as an example, I'm reading from disk)
IplImage* A = cvLoadImage("image_A.jpg");
IplImage* B = cvLoadImage("image_B.jpg");

// Set the region-of-interest (ROI) for the two images
// such that only the ROI of A and B will be handled
cvSetImageROI(A,cvRect(200,200,128,128));
cvSetImageROI(B,cvRect(0,0,128,128));

// Copy the ROI in B to the ROI in A
cvCopy(B,A);

// Reset the ROI (now the entire image will be handled)
cvResetImageROI(A);
cvResetImageROI(B);

// Display A
cvNamedWindow("Modified A");
cvShowImage("Modified A",A);
cvWaitKey();

// Release the images
cvReleaseImage(&A);
cvReleaseImage(&B);

使用 OpenCV 2.0:

// C++ //

// Images A and B have already been loaded .....

// Region in image A starting from (100,100) of width 200 and height 200
Rect RegionA(100,100,200,200);
// Region in image B starting from (50,50) of width 200 and height 200
Rect RegionB(50,50,200,200);

// No copying, just a reference to the ROI of the image
Mat A_ROI(A,RegionA);
Mar B_ROI(B,RegionB);
// Copy all the pixels in RegionB in B to RegionA to A
B.copyTo(A);

关于c++ - 更改 RGB 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1587692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com