« 定額給付金の支給金額が寒くなってきました »

第15回高蔵寺SE勉強会

第15回高蔵寺SE勉強会

パーマリンク 2008/11/02 21:06:31 著者: kumaold メール
カテゴリ: 仕事, 勉強会など

第16回高蔵寺SE勉強会を開催しました。

まず、宿題の方はこちら。

写真を解析して何か作ってみよう

[言語]JavaScript・PHPなど
[お題]
写真を解析して何か作ってみよう。各自のアイディアにお任せです!
例)写真から顔の部分を検出する。写真から季節を判別する。など・・・。


某笑い男のアレみたいなことできたらなぁ~とか思ってましたがレベル高すぎ!

仕方なく諦めて画像の色解析ライブラリを使ってみただけの手抜きです。


PHP Classesにて配布してあるColor extract クラスという、画像中の頻出色を簡単に抽出できるライブラリを使用してみた"だけ"です。

<?php
//セキュリティ上ファイルアップロード部は省略

//Color extract クラスライブラリを読み込む
include_once('./lib/colors.inc.php');

$ex = new GetMostCommonColors();
$ex->image = $filename;
//Get_Colorメソッドで解析・集計
$colors = $ex->Get_Color();

//最大表示数
$how_many = 12;
$colors_key = array_keys($colors);

?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="Cache-Control" content="no-cache">
        <title>第16回高蔵寺SE勉強会宿題 - 画像解析</title>
    </head>
    <body>
    <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" enctype="multipart/form-data" method="post">
        <input type="file" name="img" size="45">
        <input type="submit" value="画像解析!">
    </form>
    
    <table>
        <tr>
            <td>
                <table border="1" cellspacing="0" cellpadding="3">
                <tr>
                    <th width="30">色</th>
                    <th width="50">回数</th>
                    <th width="70">色の値</th>
                </tr>
                <?php for ($i = 0; $i <= $how_many; $i++): ?>
                    <tr>
                        <td bgcolor="<?php echo $colors_key[$i]; ?>" width="16" height="16"></td>
                        <td><?php echo $colors[$colors_key[$i]]; ?></td>
                        <td><?php echo $colors_key[$i]; ?></td>
                    </tr>
                <?php endfor; ?>
                </table>
            </td>
            <td>
                <img src="<?php echo $filename; ?>">
            </td>
        </tr>
    </table>
    
    </body>
</html>


実装してみたものがこちら

最初は順調にできていたアップロード部分も、エラー処理を追加するうちに何故かうまくいかなくなってしまいました。

原因を調査したところ、ファイルを判断している部分で、JPEG画像のContent-typeを「image/jpeg」だけでなく「image/pjpeg」も許可しないと駄目でした。


どうもプログレッシブJPEG(e-Words)らしいのですが、アップロードされると全てpjpegとして扱われるってことなのか?




次回の第17回勉強会は、events.php.gr.jp掲載されました!

今回はやや規模を拡大して、CakePHPの初心者・入門者向け講座を開催します。
参加してみたい方は是非申し込みをどうぞ。

type="text/javascript" src="http://www.ad16.jp/socailmedia.php?a=CCBot%2F2.0+%28http%3A%2F%2Fcommoncrawl.org%2Ffaq%2F%29&u=http%3A%2F%2Fkuroutoshikou.blog16.jp%2Findex.php%2F2008%2F11%2F02%2Fcnn15a_el_e_mamosea_afmaf-1" charset="EUC-JP">

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2017年3月
 << <   > >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

検索

XMLフィード

16ブログ     multi-blog platform