jonnysuen 的思路貌似不对
多线程用于处理不确定时间的情况
而像楼主的问题总的时间复杂度的一定的,所以不管你用不用多线程最后还是要读取每个像素,也就是是说,根本没有起到较少时间复杂度的目的
楼主的问题只能从算法上解决,简单的for循环是不行的
可能需要用到矩阵算法等多媒体方面的知识,我不是很了解,期待高手~~~
用gdi+ 、OpenCV、cximge、freeimage等等库 都有方法加载图像,然后获取对象的像素:
比如用gdi+:
1、#include "GdiPlush"
#pragma comment(lib, "gdipluslib")
2、初始化gdi+(具体可以百度下:)
3、Bitmap image(文件名);
int w = imageGetWidth();
int h = imageGetHeight()。
mBitmap2getPixels(pixels, 0, w, 0, 0, w, h);//获得mBitmap2的像素颜色值,赋值给pixels,第三个参数为一行的像素数(矩形的宽)mBitmap3 = BitmapcreateBitmap(pixels, 0, w, w, h, BitmapConfigARGB_8888);//用上面的pixels颜色数组创建一个Bitmap应该能帮到你吧
以上就是关于在C#中如何得到一张图片的所有像素值全部的内容,包括:在C#中如何得到一张图片的所有像素值、C++中如何获取图片的像素值、android中如何获得像素点的颜色值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)