工作:
现在,我正在使用图像混合工具。它的作用是通过更改其不透明度来混合两个图像
我的问题:
这是第一张图像,它是X射线图像。
这是第二图像,它是光学图像。
当我混合这两个图像时,我将其作为输出。
如您所见,与X射线图像相比,我的光学图像更小。我希望我的光学图像与X射线图像完全对齐。
我使用的代码:
private BitmapSource processImage (BitmapSource bitm, bool gray)
{
int adaptiveThresholdBlockSize = 4;
double adaptiveThresholdParameter = 1.2d;
int cannyThreshold = 50;
double maxArea_optic;
double maxArea_gray;
System.Drawing.Rectangle rect = new System.Drawing.Rectangle();
Image<Gray, byte> source;
Image<Gray, byte> optical;
MemoryStream outStream = new MemoryStream();
BitmapEncoder enc = new BmpBitmapEncoder();
enc.Frames.Add(BitmapFrame.Create(bitm));
enc.Save(outStream);
var myBmp = new System.Drawing.Bitmap(outStream);
Image<Bgr, byte> sampleImg = new Image<Bgr, byte>(myBmp);
Image<Gray, byte> grayImg = sampleImg.Convert<Gray, byte>();
grayImg = sampleImg.Convert<Gray, byte>().PyrDown().PyrUp();
if (gray)
source …
Run Code Online (Sandbox Code Playgroud)