回答
我把什麼是here其中邁赫迪Karamosly在他的回答中提到,並修改它的一些是有點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
非常感謝你用一個詳細的例子向我解釋它。這幫助了很多。 –
@類,這是一個很好的解釋。但是這不會將彩色圖像轉換爲數字。你能告訴我們如何將彩色圖像轉換爲數字嗎? –
@NewGuy我已經添加了一個如何獲得顏色數字,這會給你'r,g,b',如果你想要其他格式的數字,你可以在SO上搜索。 – Class
現在你所談論的灰度圖像,如果你想這樣做,以彩色圖像的每個像素將不得不從0 3號到255(紅:0-255,綠:0 255,藍:0-255)
如果你有興趣的灰度圖像,你需要知道一個重要的規則是:
//像素是灰度如果R = B = G
根據此post。
看看這個PHP函數:
- 1. 將圖像數據轉換爲字節[]
- 2. 將數字0-9轉換爲圖像?
- 3. 將圖像轉換爲字節數組?
- 4. 將字節數組轉換爲圖像
- 5. 將pyplot數字轉換爲wand.image圖像
- 6. 將字節數組轉換爲圖像
- 7. PHP將HTML轉換爲PHP圖像
- 8. 在PHP中將二進制字節數組轉換爲圖像
- 9. 將PHP圖像對象轉換爲AMFPHP的字節數組
- 10. 將字節轉換爲位圖圖像
- 11. 使用c將字節轉換爲圖像&圖像到字節#
- 12. 將文本轉換爲圖像php
- 13. 將PDF轉換爲php中的圖像
- 14. PHP:將blob內容轉換爲圖像
- 15. PHP將POST圖像轉換爲PNG
- 16. PHP將PDF轉換爲圖像-dUseCropBox
- 17. 將圖像轉換爲PDF php
- 18. 轉換圖像爲字節與PHP
- 19. 如何將圖像轉換爲字節數組並將字節數組轉換爲圖像
- 20. 小程序:將圖像字節數據轉換爲圖像
- 21. 圖像轉換爲Base64 PHP
- 22. 如何將圖像轉換爲字節[]?
- 23. 將字符串轉換爲圖像
- 24. 將字節轉換爲圖像
- 25. 將HTML字符串轉換爲圖像
- 26. Android - 將字符串轉換爲圖像
- 27. 將字符串轉換爲LateX圖像?
- 28. 將圖像轉換爲字節
- 29. 將圖像轉換爲字節[]
- 30. 將字節[]轉換爲圖像
現在你所談論的灰度圖像,如果你想這樣做,以彩色圖像的每個像素將不得不從0 3號到255(紅:0-255,綠色:0-255,藍:0-255) –
http://php.net/manual/en/function.imagecolorat.php如果你給谷歌一個嘗試,它可以輕鬆地用「php圖像讀取像素顏色」來搜索 – zerkms
你可以分享實際的圖像我們? –