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

灰度图像黑白反转:X射线传感器输出灰度图反色处理需求

X射线灰度图黑区转白实现方案

你需要的效果本质是对灰度图像做像素值反转,8位灰度图的像素值范围为0(纯黑)~255(纯白),对每个像素执行新像素值 = 位深最大值 - 原像素值的运算即可实现黑白色彩翻转,同时保留原有图像的细节对比度。

以下是不同常用开发场景的实现代码:

Python + OpenCV 实现(通用图像处理场景)

import cv2

# 若直接读取传感器输出的灰度数组,可跳过读文件步骤,直接使用你的原始灰度数据
raw_gray_img = cv2.imread("本地原始灰度图路径", cv2.IMREAD_GRAYSCALE)
# 执行像素反转
inverted_img = 255 - raw_gray_img
# 保存处理后的图像
cv2.imwrite("处理后X射线图路径", inverted_img)

Python + PIL 实现

from PIL import Image
import numpy as np

raw_img = Image.open("本地原始灰度图路径").convert("L")
raw_arr = np.array(raw_img)
inverted_arr = 255 - raw_arr
inverted_img = Image.fromarray(inverted_arr)
inverted_img.save("处理后X射线图路径")

C++ + OpenCV 实现(高性能/嵌入式场景)

#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
    Mat raw_gray_img = imread("本地原始灰度图路径", IMREAD_GRAYSCALE);
    Mat inverted_img;
    // 调用内置位反转函数实现效果
    bitwise_not(raw_gray_img, inverted_img);
    imwrite("处理后X射线图路径", inverted_img);
    return 0;
}

注意事项

  • 若你使用的是16位深度的X射线原始数据,将反转公式中的255替换为16位灰度最大值65535即可。
  • 该运算为逐像素线性运算,性能损耗极低,可直接集成到传感器实时输出的处理流程中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:54:03