在getpixel函数中出现错误.....虽然使用了图像比较所需的所有命名空间.....我在Visual Studio 2013中制作了Windows应用程序.... 和do我需要定义的任何地方与getPixel()函数...获取GetPixel()函数中的错误
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using picture.Resources;
using System.Windows.Media.Imaging;
using System.Windows.Media;
using Microsoft.Expression.Drawing;
namespace picture {
public partial class MainPage: PhoneApplicationPage {
// Constructor
public MainPage() {
InitializeComponent();
BitmapImage image1 = new BitmapImage();
image1.SetSource(Application.GetResourceStream(new Uri(@
"Assets/WP_20150925_09_20_03_Pro (2).jpg", UriKind.Relative)).Stream);
BitmapImage image2 = new BitmapImage();
image2.SetSource(Application.GetResourceStream(new Uri(@
"Assets/WP_20150925_09_20_03_Pro.jpg", UriKind.Relative)).Stream);
// Sample code to localize the ApplicationBar
//BuildLocalizedApplicationBar();
}
private double get_Percentage_Method(WriteableBitmap wb1, WriteableBitmap wb2) {
var img1 = wb1;
var img2 = wb2;
// Validation of image size code
int width1 = img1.PixelWidth;
int width2 = img2.PixelWidth;
int height1 = img1.PixelHeight;
int height2 = img2.PixelHeight;
if ((width1 != width2) || (height1 != height2)) {
MessageBox.Show("Error: Images dimensions mismatch");
}
long diff = 0;
for (int i = 0; i < width1; i++) {
for (int j = 0; j < height1; j++) {
// get same position pixel of both WirtableBitmap Image object
Color color1 = wb1.GetPixel(i, j);
Color color2 = wb2.GetPixel(i, j);
// converting each value iGetPixelnto Integer
int r1 = (int) color1.R;
int g1 = (int) color1.G;
int b1 = (int) color1.B;
int r2 = (int) color2.R;
int g2 = (int) color1.G;
int b2 = (int) color1.B;
// calculating difference between RGB color value and adding it in Diff variable.
diff += Math.Abs(r1 - r2);
diff += Math.Abs(g1 - g2);
diff += Math.Abs(b1 - b2);
}
}
// Converting difference into percentage and then retun it.
double n = width1 * height1; //* 3;
double p = diff/n/255.0;
MessageBox.Show("diff percent: " + (p * 100.0));
return (p * 100.0);
}
}
}
感谢的像素为这么多的帮助,另一个问题....请详细说明更多...我已经替换的BitmapImage类WriteableBitmap的类.....但它仍然给出相同的错误。 – abhishek
如何获取WriteableBitmap的像素? – abhishek