color image
をどのように数値に変換できるかを調べようとしています。イメージをPHPで数字に変換しますか?
たとえば、figure (b)
のような画像がある場合、テキストファイルにfigure (a)
のような出力を得るにはどうすればよいですか?
color image
をどのように数値に変換できるかを調べようとしています。イメージをPHPで数字に変換しますか?
たとえば、figure (b)
のような画像がある場合、テキストファイルにfigure (a)
のような出力を得るにはどうすればよいですか?
私はメフディKaramoslyが彼の答えで述べたhereにあったものを取り、いくつかは少しsimipilerなるように修正して、単純なHTML出力を作りましたあなたの好みの出力に変更することができます。セキュリティを追加しようとしている場合は、データチェックを追加してファイル/実イメージを確認することもできます。私は自分のコンピュータでそれをチェックして、うまくいけば、必要なものをいくつか修正してもうまくいくでしょう。
function graycolor($img){
list($width, $height) = getimagesize($img);
$mime = pathinfo($img, PATHINFO_EXTENSION);
switch($mime){#use appropriate function depending on image type
case 'jpg':
case 'jpeg':
$im = imagecreatefromjpeg($img);
break;
case 'png':
$im = imagecreatefrompng($img);
break;
case 'gif':
$im = imagecreatefromgif($img);
break;
default:
#invalid type
exit;
}
if(!is_color($img, $im)){#$img = string; $im = resource string
$ret = "";
for($i = 0; $i < $height; $i++){#loop height pixels
for($ii = 0; $ii < $width; $ii++){#loop width pixels
$color = imagecolorat($im, $ii, $i);
$color = imagecolorsforindex($im, $color);
$ret .= $color['red'] . " ";
}
$ret .= "\n";
}
return $ret;
}else{
#$ret = "";
#for($i = 0; $i < $height; $i++){#loop height pixels
#for($ii = 0; $ii < $width; $ii++){#loop width pixels
#$color = imagecolorat($im, $ii, $i);
#$color = imagecolorsforindex($im, $color);
#$ret .= $color['red'] . ", " . $color['green'] . ", " . $color['blue'] . " ";
#}
#$ret .= "\n";
#}
return "color image";
}
}
function is_color($img, $im){
$times = 10;#number of times to check image for color
$iscolor = false;
list($width, $height) = getimagesize($img);
for($i = 0 ; $i < $times && !$iscolor; $i++){
$color = imagecolorat($im, rand(0, $width), rand(0, $height));#get random cords
$color = imagecolorsforindex($im, $color);#get the random color's values
if($color['red'] !== $color['green'] || $color['green'] !== $color['blue']){
$iscolor = true;
break;
}
}
return $iscolor;
}
echo graycolor('color.jpg');#outputs color image
echo graycolor('gray.jpg');#outputs numbers
詳細な例で私に説明してくれてありがとう。それは多くの助けとなりました。 –
@Classそれは良い説明です。これはカラー画像を数字に変換しません。カラー画像を番号に変換する方法も教えてください。 –
@NewGuy私はあなたに 'r、g、b'を与える色番号を取得する方法を追加しました。あなたは他の形式で番号を望むなら、SOの方法で検索できます。 – Class
今、あなたは、グレーレベルの画像について話している、あなたは色のイメージにそれをしたい場合は、各ピクセルは0から255までの3つの数字を持っています(赤:0〜255、緑:0- 255、青:0-255)
あなたは、グレースケール画像に興味があるなら、あなたが知っておく必要があるだろう一つの重要なルールは次のとおりです。
012この数値に基づいて// R = B = G
場合、ピクセルがグレースケールであります
がこのpostに基づいています。
このPHP関数を見てみましょう:
今、あなたは赤(あなたは色のイメージにそれをしたい場合は、各ピクセルは0〜255の3つの数字を持っているでしょう、グレーレベルの画像について話している:0〜255、緑:0-255、青:0-255) –
http://php.net/manual/en/function.imagecolorat.php googleに試してみたら、 "php image read pixel color"で簡単にグーグルグーグすることができます – zerkms
実際の画像を共有できますか?米国? –