也许读者将来需要使用OpenCV处理复杂的图像,这时可能会发现先前使用的切片方法在读取像素点的值时,速度有一点慢。Numpy提供了 item( ) 函数与 itemset( ) 函数,可以高效率地 读取 和 设定 像素点的内容。
在灰度图像的应用中item( )函数与itemset( )函数语法如下:
ndarray.item(行, 列) # 返回行、列索引的值 ndarray.itemset(索引, 值) # 将值设定给指定索引的ndarray变量
程序实例 ch6_9.py: 建立一个3×5的灰度图像数组,打印此数组内容,这个程序第6行使用item( )函数读取像素点内容,第7行使用itemset( )函数修改索引(1,3)的值为255,然后第9行输出此数组,第10行输出特定索引(1,3)的内容。
执行结果
程序实例 ch6_10.py: 使用itemset( )函数重新设计ch6_2.py。
执行结果 与ch6_2.py相同。
在彩色图像的应用中 item( ) 函数与 itemset( ) 函数语法如下:
ndarray.item(行, 列, 通道) # 返回行、列、通道索引的值 ndarray.itemset((行, 列, 通道), 值) # 将值设定给指定索引的ndarray变量
程序实例 ch6_11.py: 使用item( )函数和itemset( )函数重新设计ch6_6.py。
执行结果
程序实例 ch6_12.py: 使用 item( ) 函数和 itemset( ) 函数重新设计修改ch6_7.py,读取彩色图像并修订,这个程序只用一个白色长条修订部分图像。
执行结果