<p>我在一个计算机视觉项目中使用OpenCV,但是,我需要对图像进行逐像素操作,这意味着访问640x480图像中的每个像素并更改其HSV值。图像由3D阵列X、Y和HSV值组成,因此130、230处的像素可以具有HSV值[12、26、18]或在图像中表示:(130、230、(12、26、18))</p>
<p>我需要执行一个操作,允许我在HSV值的V值(元素索引2)中添加一个量X:(130,230,(12,26,<strong>18</strong>)</p>
<p>我可以使用两个循环:</p>
<pre><code>for x in range(image.width):
for y in range(image.height/2):
initcolor = cv.Get2D(image, y, x)
initcolor2 = [0, 0, 10, 0]
summed = [sum(pair) for pair in zip(initcolor, initcolor2)]
cv.Set2D(image, y, x, summed)
</code></pre>
<p>但这是非常缓慢的,由于某些原因,完成整个图像的操作大约需要20秒。在</p>
<p>有没有更简单、更快速的方法来实现这一点?在</p>