擅长:python、mysql、java
<p>图像本质上是一个像素数组,所以当你说裁剪图像时,我将其转换为从数组中删除元素。因此,为了从数组中删除某些元素,它的大小必须改变,因为我们都知道在C++中声明后数组大小不能改变。但是,您可以过滤所需的像素并将其复制到新数组中。我没有一个工作代码,但希望下面的代码能给你一个推动</p>
<pre><code>for (int i = 0; i < image.rows; i++) {
for (int j = 0; j < image.cols; j++) {
if (image.at<Vec3b>(i, j)[0] != 0 && image.at<Vec3b>(i, j)[1] != 0 && image.at<Vec3b>(i, j)[2] != 0) { /*Check if all the RGB pixels are not 0 (not black)*/
/*TODO*/
/*MOVE THIS PIXEL TO A NEW ARRAY*/
}
}
</code></pre>
<p>}</p>