You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何按像素强度值对灰度图像对应的矩阵进行排序

你直接使用numpy.sort()得不到预期结果,是因为该方法默认沿矩阵的最后一个轴排序,对二维灰度矩阵来说就是对每一行单独做排序,而非全局所有像素统一排序。

解决方案

替换代码中im_b = ???的部分为以下代码即可:

# 先将二维矩阵展平为一维数组,全局排序后再恢复为原矩阵尺寸
im_b = np.sort(im.flatten()).reshape(im.shape)

如果需要得到强度从高到低的倒序排序结果,可使用以下代码:

im_b = np.sort(im.flatten())[::-1].reshape(im.shape)

实现原理

  • im.flatten():将形状为(s, s)的二维灰度矩阵展平为长度为s*s的一维数组,包含裁剪区域所有像素的强度值
  • np.sort():对一维数组做全局排序,默认按强度从小到大升序排列
  • reshape(im.shape):将排序完成的一维数组重新转换为和裁剪区域相同尺寸的二维矩阵,排序后的像素会按行优先的顺序填充到新矩阵中

内容的提问来源于stack exchange,提问作者Kar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:15:06