전적으로 GPU 프로그래밍에 익숙합니다. GPU로 작업하기 전에 경험이 없으며, 몇 가지 기능이 있습니다. GPU에서 실행되도록 해당 기능을 변환해야합니다. 좋아, 나는 이미지 작업에 emgucv를 사용했다. 내 코드는 아래 표기되어 있습니다. 제발 도와주세요.emgu 코드를 GPU로 변환
public static Image Highlight(Image image)
{
if (image == null)
{
throw new ArgumentNullException("image");
}
using (Image<Bgr, byte> originalImage = ConvertToEmgu(image))
using (Image<Bgr, byte> resavedOriginalImage = ConvertToEmgu(ResaveImageWithGivenCompression(image)))
using (Image<Bgr, byte> errorLevelImage = (originalImage - resavedOriginalImage) * scalingFactor)
{
return errorLevelImage.ToBitmap();
}
}
private static Image<Bgr, byte> ConvertToEmgu(Image image)
{
using (Bitmap bitmap = new Bitmap(image))
{
return new Image<Bgr, byte>(bitmap);
}
}
private static Image ResaveImage(Image image)
{
EncoderParameters jpegEncoderParameters = new EncoderParameters(1);
ImageCodecInfo jpegWithGivenCompressionFormat = GetEncoderInfo("image/jpeg");
jpegEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, compressionQuality);
using (MemoryStream resavedImageStream = new MemoryStream())
{
image.Save(resavedImageStream, jpegWithGivenCompressionFormat, jpegEncoderParameters);
return Image.FromStream(resavedImageStream);
}
}
private static ImageCodecInfo GetEncoderInfo(string mimeType)
{
ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders();
return encoders.FirstOrDefault(encoder => encoder.MimeType == mimeType);
}
}
이것은 정말 잘 조사되지 않은 질문입니다. 타겟 GPU에서 어떤 API/프레임 워크를 사용하고자하는지에 대해서도 언급하지 않았습니다. 당신이하고 싶은 일과 당신이 이해하지 못하는 것에 대한 더 많은 정보를 포함하도록 질문을 편집하십시오. – talonmies
좋아, 내가 게시 한 코드로 GPU에서 이러한 기능을 실행하고 싶습니다. .NET Framework 3.5에서 작업하고 visualstudio 2008을 사용하고 있습니다. 내가 익숙하지 않은 것은이 기능에 GPU 지원을 추가하기 위해해야 할 일이다. –
당신은 이미 그 질문에 말했다. 그러나 * GPU 코드 작성을 계획하고있는 언어와 API에 대해서도 언급하지 않았습니다. 그것에 대해 생각조차하지 못하면 StackOverflow에 대한 구현 세부 사항에 대해 질문 할 준비가되지 않은 것입니다. – talonmies