问题遇到的现象和发生背景
有一段OpenCV的源代码,个人觉得可以简化成一个语句,难道这样处理有何其他技巧?
问题相关代码,请勿粘贴截图
OpenCV中的源代码如下:
for (const T* ptr = tile.ptr<T>(0); height--; ptr += sstep)
{
int x = 0;
for (; x <= tileROI.width - 4; x += 4)
{
int t0 = ptr[x], t1 = ptr[x+1];
tileHist[t0 >> shift]++; tileHist[t1 >> shift]++;
t0 = ptr[x+2]; t1 = ptr[x+3];
tileHist[t0 >> shift]++; tileHist[t1 >> shift]++;
}
for (; x < tileROI.width; ++x)
tileHist[ptr[x] >> shift]++;
}
具体源代码可以见:https://blog.csdn.net/LaoYuanPython/article/details/121507082
《[https://blog.csdn.net/LaoYuanPython/article/details/121507082(OpenCV自适应直方图均衡CLAHE C++源代码分享)》
这段代码完全可以使用如下代码行替代:
for (x=0,const T* ptr = tile.ptr<T>(0); x <= tileROI.width ; x++)
tileHist[ptr[x] >> shift]++;
请问哪位能告知这样做的理由?