私はアレイ機能に関する私の課題の問題に直面しました。 最初の3つの行と最後の3つの行と列に「0」の境界要素を作りたいと思います。まず、256X256サイズの配列を生成することができました(配列[256] [256])。 そして、第一の配列の後にI値から20を減算し、要素値< 127についてアレイ機能(画像処理プロジェクト)
- 、Iは、例えば.FORいくつかの条件を実行する必要が発生しました。
- 要素値が127より大きい場合は、値に20を追加します。
- 操作の後に任意の要素の値が<である場合は、値0を割り当てます。
- 操作後に任意の要素の値が> 255である場合は、値255を に割り当てます。
問題は、再度生成したときに、要素の「0」境界が異なることです。どのように私は要素の "0"の境界線のように見える最初の配列のようにそれを解決するには?
は、以下の私のC++コードです。あなたの変形例では
#include<stdio.h>
#include<stdlib.h>
void main()
{
int inputimage[256][256], modifinputimage[256][256];
int i, j;
char ch;
for (i = 0; i < 256; i++)
{
if (i < 3)
{
for (j = 0; j < 256; j++)
{
if (j < 256)
{
printf("0\t");
}
}
}
else if (i >= 253)
{
for (j = 0; j < 256; j++)
{
if (j < 256)
{
printf("0\t");
}
}
}
else if (i >= 3 && i <253)
{
for (j = 0; j < 256; j++)
{
if ((i >= 3 && j < 3) || (i<253 && j >= 253))
{
printf("0\t");
}
if (j >= 3 && j < 253)
{
inputimage[i][j] = rand() % 256;
printf("%d\t", inputimage[i][j]);
}
}
}
}
printf("\nProceed to Contrast Adjustment ? (Press ENTER to continue)*** \n\n\n\n");
ch = getche();
for (i = 0; i < 256; i++)
{
if (i < 3)
{
for (j = 0; j < 256; j++)
{
if (j < 256)
{
printf("0\t");
}
}
}
else if (i >= 253)
{
for (j = 0; j < 256; j++)
{
if (j < 256)
{
printf("0\t");
}
}
}
else if (i >= 3 && i <253)
{
for (j = 0; j < 256; j++)
{
if ((i >= 3 && j < 3) || (i<253 && j >= 253))
{
printf("0\t");
}
if (j >= 3 && j < 253)
{
if (inputimage[i][j] < 127 && inputimage[i][j] >= 20)
{
modifinputimage[i][j] = inputimage[i][j] - 20;
printf("%1d\t", modifinputimage[i][j]);
}
if (inputimage[i][j] > 127 && inputimage[i][j] <= 235)
{
modifinputimage[i][j] = inputimage[i][j] + 20;
printf("%1d\t", modifinputimage[i][j]);
}
if (inputimage[i][j] <= 0)
{
modifinputimage[i][j] = inputimage[i][j];
printf("0\t");
}
if (inputimage[i][j] >= 255)
{
modifinputimage[i][j] = inputimage[i][j];
printf("255\t");
}
}
}
}
}
}
ようこそ役立ちます! [デバッガ](https://en.wikipedia.org/wiki/Debugger)を使用してコードをステップ実行する方法を学ぶ必要があるようです。良いデバッガを使用すると、プログラムを1行ずつ実行し、どこからずれているかを確認することができます。これはプログラミングをする場合に不可欠なツールです。さらに読む:[小さなプログラムをデバッグする方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/) –
C++?それは純粋なCです。でもC言語でさえ、それは 'int main'です。 –
はい、これはちょうど純粋なCです。しかし、私はまだ私の問題を解決できません。境界要素 – korenhs