-> 請幫忙實作一個功能
基本上我想操縱影像
想象一下,影像可以以像素為單位分開 -> 影像的每個像素將是(舉個簡單的例子)“一個數字”
int[,] originalImage = new int[,]
{
{ 1,2,3 },
{ 4,5,6 }
};
我需要將影像 x2(或 x3、x4 等)的大小加倍,像素“1”將被復制到正確的位置,向下和拐角處
int[,] expectedResult = new int[,]
{
{ 1,1,2,2,3,3 },
{ 1,1,2,2,3,3 },
{ 4,4,5,5,6,6 },
{ 4,4,5,5,6,6 }
};
如何實作該功能?
Multiply(int[,] originalImage, int multiply)
uj5u.com熱心網友回復:
請注意,有很多庫可以在數學或影像處理中做到這一點。但是,純粹出于學術目的
給定的
private static int[,] DoStuff(int[,] array,int size)
{
var sizeX = array.GetLength(0);
var sizeY = array.GetLength(1);
var newArray = new int[sizeX * size, sizeY * size];
for (var i = 0; i < newArray.GetLength(0); i )
for (var j = 0; j < newArray.GetLength(1); j )
newArray[i, j] = array[i / size, j / size];
return newArray;
}
用法
int[,] originalImage =
{
{ 1, 2, 3 },
{ 4, 5, 6 }
};
var newArray = DoStuff(originalImage,3);
for (var i = 0; i < newArray.GetLength(0); i )
{
for (var j = 0; j < newArray.GetLength(1); j )
Console.Write(newArray[i, j] " ");
Console.WriteLine();
}
輸出
1 1 1 2 2 2 3 3 3
1 1 1 2 2 2 3 3 3
1 1 1 2 2 2 3 3 3
4 4 4 5 5 5 6 6 6
4 4 4 5 5 5 6 6 6
4 4 4 5 5 5 6 6 6
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/335836.html
