(57)【特許請求の範囲】
【請求項１】
傘部を下にかつ足部及びひだ部を上向きとした逆さ姿勢に保持された椎茸を移送方向に移送する移送装置と、前記移送方向の中途における撮影位置において、前記椎茸の裏面を上方側から撮影する前記移送装置の上方に配設されたカメラと、前記移送方向と交差する斜方上方側から前記撮影位置を通過する前記椎茸裏面に対して、平面に投射された投射軌跡が直線状となる扇状のレーザ光束を投射するレーザ光投射装置と、前記カメラに連絡された画像処理装置とを備え、前記画像処理装置は、前記カメラにより撮影された前記レーザ光束による椎茸裏面の凹凸形状を表す画像に基いて前記椎茸の直径と傘部の寸法とを求め、前記椎茸の直径から前記傘部の寸法を減算することで前記足部及びひだ部の占める長さを算出し、前記椎茸の直径に対する前記足部及びひだ部の占める長さの割合として前記傘部の開傘率を算出し、前記開傘率の値により前記椎茸の等級付けを行うことを特徴とする椎茸の等級付け装置。
【請求項２】
前記画像処理装置は、前記レーザ光束による前記椎茸裏面の凹凸形状を表す画像の両端のエッジから径方向中央に向かって隣り合う画素データの位置同士を順次比較して傾斜度を求め、傾斜度が最大となる隣り合う画素データの間を前記傘部と前記ひだ部との両端の境界とし、前記両端のエッジから前記傘部と前記ひだ部との両端の境界までの寸法をそれぞれ求めてそれらの合計寸法を前記椎茸の傘部の寸法とすることを特徴とする請求項１に記載の椎茸の等級付け装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、カメラによって撮影された画像を基に、椎茸の傘部の開き具合（開傘率）を計測し、計測結果に応じて等級付けを行う椎茸の等級付け装置に関するものである。
【０００２】
【従来の技術】
選果場では、例えば、椎茸等のように傘部及び足部を有するきのこを、大きさによって階級付け（例えば、大、中、小）し、傘の開き具合によって等級付け（例えば、秀、優、良或いはＡ、Ｂ、Ｃ等）を行っている。なお、傘が開いていないものほど等級が上となる。
【０００３】
このような、椎茸の階級及び等級付けを自動的に行う椎茸の等階級付け装置は、例えば、特開平１０−２８９４１号公報に開示されている。特開平１０−２８９４１号に記載の椎茸の等階級付け装置は、笠部（傘部）を下にかつ茎部（足部）を上向きにされた逆さ姿勢に保持された椎茸を移送方向に移送する移送装置と、移送方向の中途における第１の撮影位置において、椎茸の裏面を上方側から撮影する移送装置の上方に配設された第１のカメラと、移送方向において第１の撮影位置と離れた第２の撮影位置において椎茸を上方斜方側から撮影すると共に、第１のカメラよりも低く移送装置の上方に配設された第２のカメラと、第１のカメラ及び第２のカメラに連絡された画像処理装置とを有しており、画像処理装置により、第１のカメラにより撮影された第１画像に基づいて椎茸の笠部の大きさと笠部の開き具合とを計測し、第２のカメラにより撮影された第２画像に基づいて椎茸の笠部の厚みを計測し、笠部の厚みを等級判定の条件に加えて椎茸の笠部の大きさと笠部の開き具合との組み合わせによって椎茸の階級付け及び等級付けを行うものである。
【０００４】
上記従来の椎茸の等階級付け装置における等級付けは、椎茸の裏面を上方側から撮影した第１画像（椎茸裏面画像）に基いて椎茸画像の平均直径と椎茸の傘部の面積を計測し、傘部の面積を平均直径の２乗で除した値を傘面積比率とし、傘面積比率が、例えば、４５％以上でＡ、２８％以上４４％未満でＢ、２８％未満でＣに等級付けしている。椎茸裏面画像において、傘部と足部は黒色と認識され、ひだ部は白色と認識される。上記従来の椎茸の等階級付け装置は、足部を除く黒色部分を傘部の面積としている。
【０００５】
ところで、選果場に搬入される椎茸は、市場に出回る時期を考慮して鮮度には十分配慮がなされている。椎茸は、新鮮なものほど菌糸とよばれる膜状の白い部分が傘部を覆っており、日数を経るうちに菌糸部分が傘部からひだ部に後退する。上述した菌糸とよばれる膜状の白い部分が傘部を覆っている状態の椎茸は、最優秀に等級付けされる。なお、膜状の白い部分が傘部を覆っている状態であっても、傘部に対してひだ部が落ち込んでいるので、凹凸により傘部とひだ部とを識別することができる。
【０００６】
上記従来の椎茸の等階級付け装置では、椎茸の裏面を上方側から撮影した平面的な椎茸裏面画像によって等級付けしているため、上記最優秀に等級付けされるべき椎茸が、椎茸裏面画像において白色で認識される菌糸部分が傘部を覆っているため、黒色と認識される傘部の面積が小さく計測されてしまう結果、正しく等級付けされないという不具合を生じる。すなわち、上記従来の椎茸の等階級付け装置では、膜状の白い部分が傘部を覆っている状態の椎茸の傘部はひだ部から正確に区別できなかった。
【０００７】
【発明が解決しようとする課題】
本発明の目的は、椎茸の傘部を誤りなく識別して正しく等級付けできる椎茸の等級付け装置を提供することにある。
【０００８】
【課題を解決するための手段】
請求項１に係る椎茸の等級付け装置は、傘部を下にかつ足部及びひだ部を上向きとした逆さ姿勢に保持された椎茸を移送方向に移送する移送装置と、前記移送方向の中途における撮影位置において、前記椎茸の裏面を上方側から撮影する前記移送装置の上方に配設されたカメラと、前記移送方向と交差する斜方上方側から前記撮影位置を通過する前記椎茸裏面に対して、平面に投射された投射軌跡が直線状となる扇状のレーザ光束を投射するレーザ光投射装置と、前記カメラに連絡された画像処理装置とを備え、前記画像処理装置は、前記カメラにより撮影された前記レーザ光束による椎茸裏面の凹凸形状を表す画像に基いて前記椎茸の直径と傘部の寸法とを求め、前記椎茸の直径から前記傘部の寸法を減算することで前記足部及びひだ部の占める長さを算出し、前記椎茸の直径に対する前記足部及びひだ部の占める長さの割合として前記傘部の開傘率を算出し、前記開傘率の値により前記椎茸の等級付けを行うことを特徴とする。
【０００９】
請求項２に係る椎茸の等級付け装置は、請求項１に係る椎茸の等級付け装置において、前記画像処理装置が、前記レーザ光束による前記椎茸裏面の凹凸形状を表す画像の両端のエッジから径方向中央に向かって隣り合う画素データの位置同士を順次比較して傾斜度を求め、傾斜度が最大となる隣り合う画素データの間を前記傘部と前記ひだ部との両端の境界とし、前記両端のエッジから前記傘部と前記ひだ部との両端の境界までの寸法をそれぞれ求めてそれらの合計寸法を前記椎茸の傘部の寸法とすることを特徴とするものである。
【００１０】
【発明の実施の形態】
以下、図面を参照しつつ本発明の実施の形態を説明する。図１は、本実施形態の椎茸の等級付け装置の画像撮影系を示す概略の正面図であり、図２は、図１の椎茸の等級付け装置の画像撮影系を椎茸の移送方向の下流側から示す概略の側面図である。椎茸の等級付け装置１は、椎茸２を移送方向（図１においては、左から右に向く方向）に移送する移送装置３と、移送方向の中途における撮影位置において、椎茸２の裏面を上方側から撮影する移送装置３の上方に配設されたカメラ４と、移送方向と交差する斜方上方側から撮影位置を通過する椎茸２に対して直線状のレーザ光を投射するレーザ光投射装置５とを備える。
【００１１】
移送装置３は、例えば、特開昭８−１２０５８号公報に開示されるもののように、駆動モータにより移送方向に等速移動されるチェーンコンベアに一定間隔でカップ支持枠を配設すると共に、カップ支持枠の内側に椎茸を載せるためのカップ６を配設し、さらにカップ６の移動位置を検出するためのエンコーダを備えた公知のものである。
【００１２】
椎茸２は、作業要員等の人手によりカップ６の中央の受部に、傘部を下にかつ足部及びひだ部を上向きとした逆さ姿勢に、かつ足部を上方に真っ直ぐになるように載せられる。カップ６に載せられた椎茸２はカップ６の受部に保持されて移送方向に一定速度で移送される。なお、カップ６は、画像処理において背景として扱われるため白色（又は黒色）のものを用いている。
【００１３】
また、エンコーダから出力されるパルスは後述の制御装置１２に入力され、制御装置１２はパルス数をカウントし、カウントしたパルス数と予め設定記憶されたカップ６の移動量に対応するパルス数とを比較することにより、カップ６の移動位置を特定する。
【００１４】
カメラ４は、例えば、ＣＣＤカメラ等により構成されており、椎茸２の移送方向の中途に設定した撮影位置の真上に配設されている。図２に示すように、レーザ光投射装置５は、カメラ４の撮影位置に対して椎茸の移送方向と交差する斜方（図２の右方）上方側に配設され、撮影位置に対して斜め上方から直線状のレーザ光を常時投射する。カメラ４は、撮影位置に被測定物としての椎茸２が到来すると直線状のレーザ光が投射された椎茸２の裏面を撮影する。
【００１５】
図３は、斜め上方から直線状のレーザ光を投射した椎茸２の裏面を上方から示す平面図である。椎茸２の裏面の凸の部分、例えば、一番凸となる足部７が最初にレーザ光の投射を受け、次に凸となる傘部９がレーザ光の投射を受け、最後に、傘部９に対して凹となるひだ部８がレーザ光の投射を受ける。椎茸２の裏面を真上から見ると、直線状のレーザ光の投射軌跡は、一番凸となる足部７が最も投射側（右側）に張り出し、最も凹であるひだ部８が投射側と反対側（左側）となり、ひだ部８に対して凸となる傘部９が、ひだ部８よりも投射側（右側）に張り出している。このように、斜め上方から直線状のレーザ光を椎茸２の裏面に投射することにより、椎茸２の裏面の凹凸を検出することができる。
【００１６】
図４は、実施形態における移送途中の椎茸２を検出する検出手段の配置を示す図である。移送方向の上流にカップ支持枠を検出するカップ検出手段（例えば、光電センサ）１０が配設され、カップ検出手段１０よりも移送方向の下流に、カップに載せた椎茸２を検出する椎茸検出手段（例えば、光電センサ）１１が配設され、椎茸検出手段１１よりも移送方向の下流にカメラ４の撮影位置が設定されている。
【００１７】
図４において、制御装置１２は、カップ検出手段１０、椎茸検出手段１１、移送装置３に設けられたエンコーダ１３及びカメラ４が撮影した直線状のレーザ光による椎茸画像に基いて画像処理を行う画像処理装置１４に接続されている。制御装置１２は、カップ検出手段１０によってカップ６が検出されると、エンコーダ１３のパルス数のカウントを開始し、パルス数が椎茸検出手段１１の検出位置に達すると、椎茸検出手段１１からの検出信号により椎茸有無を判定する。判定の結果、椎茸２がカップ６に載せられていることが確認されると、パルス数がカメラ４の撮影位置に達したかを監視し、パルス数がカメラ４の撮影位置に達すると、画像処理装置１４に撮影指令を出力する。なお、椎茸２がカップ６にないと判定した場合には、パルス数のカウントを終え、画像処理装置１４には撮影指令を出力しない。
【００１８】
なお、図５は、カップ６と椎茸検出手段（例えば、光電センサ）１１の配置関係を示す図であり、椎茸検出手段１１は、投光部１１ａと受光部１１ｂとを１組とした光電センサで構成してある。カップ６の受部の下面には孔６ａが設けられており、カップ６が空の場合には、投光部１１ａからの光が孔６ａを通して受光部１１ｂに受光される一方、カップ６に椎茸２が載せられている場合には、投光部１１ａからの光が椎茸２により遮られて受光部１１ｂに受光されない。
【００１９】
図６は、等級付け装置に配備された制御系を示す要部ブロック図である。等級付け装置の制御系は、カメラ４によって取得された直線状のレーザ光による椎茸画像に基づいて、椎茸の径と傘部９の長さとを計測し、椎茸の径に対する足部７及びひだ部８の占める長さの割合として傘部９の開傘率を算出し、開傘率の値により椎茸２の等級付けを行うＣＰＵ１５を主要部とする画像処理装置１４により構成される。
【００２０】
画像処理装置１４のＣＰＵ１５には、ＣＰＵが実行する椎茸の画像処理プログラム並びに等級付けプログラムを格納した記憶装置１６、入出力インタフェース１７、データメモリ１８、カメラ４に関連するフレームメモリコントローラ１９がバス２０を介して各々接続されている。データメモリ１８は、椎茸２の等級付けに関連した各種の設定値を格納する領域と、各処理に必要なデータの一時記憶に用いられる領域を含んでいる。また、ＣＰＵ１５は、入出力インタフェース１７及びバス２０を介して制御装置１２に接続されている。
【００２１】
カメラ４に関連するフレームメモリコントローラ１９には、カメラ４及びフレームメモリ２１が接続されると共に、Ａ／Ｄ変換器２２及び表示用ドライバ２３が接続され、Ａ／Ｄ変換器２２には、カラー変換器２４が接続され、さらにカラー変換器２４にカメラ（例えば、ＣＣＤカメラ）４が接続されている。また、表示用ドライバ２３には、図示しない調整用モニタが接続されている。
【００２２】
例えば、カメラ４に関連するフレームメモリコントローラ１９に撮影指令が送られると、カメラ４に設定された電子シャッタ機能により椎茸の撮影が実行される。カメラ４の映像信号（直線状のレーザ光が投射された椎茸裏面画像）は、カラー変換器２４によって画面分の画像をｍ×ｎ個の画素に分解され、さらに、Ａ／Ｄ変換器２２によってデジタル化されてデジタル画像が生成され、フレームメモリコントローラ１９に入力される。フレームメモリコントローラ１９は、デジタル画像をフレームメモリ２１に格納する。なお、必要に応じてフレームメモリ２１に格納された画像やＣＰＵにより処理された画像等は、表示用ドライバ２３を介して調整用モニタに表示される。
【００２３】
ＣＰＵ１５が記憶手段１６に格納された画像処理プログラム並びに等級付けプログラムを実行することにより、フレームメモリ２１に格納された椎茸のデジタル画像を解析し、椎茸の開傘率の値によって椎茸の等級付けを行い、等級付けデータがデータメモリ１８に格納される。
【００２４】
図７乃至図８は、画像処理装置１４のＣＰＵ１５が実行する画像処理及び等級付け処理のメインルーチンのフローチャートである。画像処理装置のＣＰＵ１５は、該処理の開始時に、撮影指令の入力があるか否かを繰り返し判別する待機状態となっており（ステップＳ０１）、前述したように制御装置１２から撮影指令が入力されると、カメラ４の撮影指令を出力してカメラ４による撮影を実行し（ステップＳ０２）、取得した画像（デジタル化された直線状のレーザ光が投射された椎茸裏面画像）をフレームメモリ２１に格納し（ステップＳ０３）、ステップＳ０４に進む。
【００２５】
ＣＰＵ１５は、ステップＳ０４に進むと、画像を予め設定された２値化レベルにより２値化して、デジタル画像からレーザ光の軌跡のみを残し、レーザ光以外の椎茸等の画像を除去し（ステップＳ０４）、２値化した画像をフレームメモリ２１に格納する（ステップＳ０５）。なお、ステップＳ０４及びステップＳ０５の処理により、レーザ光の軌跡が黒色、その他は白色としてフレームメモリ２１に記憶される。
【００２６】
ＣＰＵ１５は、ステップＳ０５の処理後、ステップＳ０６〜ステップＳ１３の各処理を行うことによって、直線状のレーザ光を椎茸に投射して得た椎茸裏面の表面形状を表す２値化画像により椎茸２の裏面の形状計測を行う。ここで、画像処理装置１４のＣＰＵ１５による椎茸の等級判別に用いられる傘部の寸法測定について説明する。なお、２値化された椎茸裏面の表面形状を表す画像は、前述したように白黒画像である。
【００２７】
図１１は、直線状のレーザ光を椎茸に投射して得た椎茸裏面の表面形状を表す２値化画像の一態様を示す図である。２値化Ｘ座標は、１画素を１つの大きさとした連続する２次元直交座標上にあるものとする。座標の原点Ｏ（０，０）を画面の左上隅位置の画素とし、右方向をＸ座標の正、下方向をＹ座標の正とする。Ｘ座標上の画素の個数をｍ個、Ｙ座標上の画素の個数をｎ個とする。
【００２８】
ＣＰＵ１５は、まず、軌跡データ収録処理を行って、２値化された椎茸裏面の表面形状を表す画像におけるレーザ光の軌跡データを特定すると共に特定した軌跡データを順次記憶する（ステップＳ０６）。
【００２９】
図９は、ＣＰＵ１５が実行する軌跡データ収録処理のサブルーチンのフローチャートである。ＣＰＵ１５は、Ｙ座標を固定してＸ座標上の各画素が黒であるか否か（レーザ光の軌跡データであるか否か）を順次判別し、レーザ光の軌跡データを検出した場合には、軌跡データ記憶エリアに軌跡データの座標（ｘ，ｙ）を順次記憶していく。
【００３０】
ＣＰＵ１５は、まず、画素のＹ座標に関する指標ｊ（１≦ｊ≦ｎ）に初期値「１」をセットし（ステップＳ１０１）、次に、画素のＸ座標に関する指標ｉ（１≦ｉ≦ｍ）に初期値「１」をセットし（ステップＳ１０２）、ステップＳ１０３に進む。なお、画素のＹ座標に関する指標ｊが１である場合に対応する画素は、Ｙ座標の値が０であるＸ座標上の全ての画素とする。ＣＰＵ１５は、ステップＳ１０３に進むと、ｉ番目のＸ座標とｊ番目のＹ座標とによって特定される座標（ｘｉ，ｙｊ）の画素が「黒」であるか否か（レーザ光の軌跡データであるか否か）を判別する（ステップＳ１０３）。
【００３１】
ＣＰＵ１５は、座標（ｘｉ，ｙｊ）の画素が「黒」でない、即ち、「白」であると判別した場合、ステップＳ１０４に進み、画素のＸ座標に関する指標ｉが上限値ｍに達しているか否かを判別し（ステップＳ１０４）、画素のＸ座標に関する指標ｉが上限値ｍに達していなければ、指標ｉの値を１つアップし（ステップＳ１０５）、ステップＳ１０３に戻り、１つアップした指標ｉの値で特定される次のＸ座標とｊ番目のＹ座標とによって特定される座標（ｘｉ，ｙｊ）の画素が「黒」であるか否かを判別する。このようにして、ｊ番目のＹ座標を固定して画素のＸ座標に関する指標ｉを１つずつアップしてｊ番目のＹ座標上の各画素が「黒」であるか否かを順次判別する（ステップＳ１０３、ステップＳ１０４、ステップＳ１０５による処理ループ）。
【００３２】
そして、画素のＸ座標に関する指標ｉが上限値ｍ（画面の右端）に達すると、ＣＰＵ１５はステップＳ１０４を真と判別してステップＳ１０６に進み、画素のＹ座標に関する指標ｊが上限値ｎに達しているか否かを判別し（ステップＳ１０６）、画素のＹ座標に関する指標ｊが上限値ｎに達していなければ、指標ｊの値を１つアップし（ステップＳ１０７）、ステップＳ１０２に戻り、画素のＸ座標に関する指標ｉを初期値「１」に戻し、ステップＳ１０３に進み、１つアップした指標ｊで特定される次のＹ座標上の各画素が「黒」であるか否かを順次判別する（ステップＳ１０２、ステップＳ１０３、ステップＳ１０４、ステップＳ１０６、ステップＳ１０７による処理ループ）。
【００３３】
一方、ステップＳ１０３にて、座標（ｘｉ，ｙｊ）の画素が「黒」である（レーザ光の軌跡データである）と判別する毎に、ＣＰＵ１５は、図１２に示すような軌跡データ記憶エリアに軌跡データの座標（ｘ，ｙ）を順次記憶していき（ステップＳ１０８）、軌跡データの座標（ｘ，ｙ）を記憶すると、ステップＳ１０６に進み、画素のＹ座標に関する指標ｊが上限値ｎに達していなければ、指標ｊの値を１つアップし（ステップＳ１０７）、ステップＳ１０２に戻り、次のＹ座標上の各画素が「黒」であるか否かを順次判別する。
【００３４】
なお、ステップＳ１０３にて、レーザ光の軌跡データを検出した場合、画素のＸ座標に関する指標ｉの更新アップを行わず、画素のＹ座標に関する指標ｊの更新アップに進む理由は、レーザ光の直進性によるもので、１つのＹ座標上にレーザ光の軌跡データが２つ以上は存在しないとしているからである。このようにして、画素のＹ座標に関する指標ｊが上限値ｎ（画面の下端）に達すると、ＣＰＵ１５はステップＳ１０６を真と判別して軌跡データ収録処理のサブルーチンを終了し、メインルーチンにリターンする。
【００３５】
以上に説明した軌跡データ収録処理を行うと、図１１の２値化された椎茸裏面の表面形状を表す画像におけるレーザ光の軌跡データが、上から下に向かって順次軌跡データ記憶エリアに記憶されることになる。なお、図１２では、全部でｋ個の軌跡データが記憶された例を示している。
【００３６】
ステップＳ０６の軌跡データ収録処理を終えると、ＣＰＵ１５は、軌跡データの先頭データを上端点Ａ（Ｘａ，Ｙａ）とし（ステップＳ０７）、軌跡データの最終データを下端点Ｂ（Ｘｂ，Ｙｂ）とし（ステップＳ０８）、ステップＳ０９に進み、下端点ＢのＹ座標Ｙｂから上端点ＡのＹ座標Ｙａを差し引いて椎茸径Ｒを求めて記憶する（ステップＳ０９）。
【００３７】
次いで、ＣＰＵ１５は、上端点ＡのＹ座標Ｙａと下端点ＢのＹ座標Ｙｂとの和を２で除すことにより、求めた椎茸径Ｒの中心に対応するＹ座標Ｙｃを求め（ステップＳ１０）、次に、中心Ｙｃから椎茸径Ｒの−２０％（−は原点側）の寸法だけ離れたＹ座標Ｙｅと、中心Ｙｃから椎茸径Ｒの＋２０％（＋は原点と反対側）の寸法だけ離れたＹ座標Ｙｆとを求め（ステップＳ１１）、Ｙ座標Ｙｅに対応する軌跡データ（Ｘｅ，Ｙｅ）及びＹ座標Ｙｆに対応する軌跡データ（Ｘｆ，Ｙｆ）を特定し（ステップＳ１２）、ステップＳ１３の傾斜度、傘寸法算出処理に進む。
【００３８】
図１０は、ＣＰＵ１５が実行する傾斜度、傘寸法算出処理のサブルーチンのフローチャートである。ＣＰＵ１５は、傾斜度、傘寸法算出処理により、傘部９とひだ部８との境界を判定し、傘部９の寸法を求めて記憶する。なお、傘部９は、上下２箇所あるので、以下の説明では、それぞれ上部傘部、下部傘部ということにする。ＣＰＵ１５は、まず、上部傘部とひだ部との境界を検出するための傾斜度の算出を行う。
【００３９】
ＣＰＵ１５は、軌跡データ記憶エリアに記憶された軌跡データを特定するための指標ｐに初期値「１」（軌跡データの上端点Ａを指定する値）をセットし（ステップＳ２０１）、ステップＳ２０２に進み、ｐ番目の軌跡データ（Ｘｐ，Ｙｐ）とｐ＋１番目の軌跡データ｛Ｘ（ｐ＋１），Ｙ（ｐ＋１）｝との傾斜度αを求め（ステップＳ２０２）、Ｐ番目の軌跡データの座標（Ｘｐ，Ｙｐ）と一緒に、求めた傾斜度αを傾斜度記憶エリアに記憶する（ステップＳ２０３）。なお、傾斜度αは、α＝｛Ｘ（ｐ＋１）−Ｘｐ｝／｛Ｙ（ｐ＋１）−Ｙｐ｝で求まる。
【００４０】
次いで、ＣＰＵ１５は、ｐ＋１番目の軌跡データ｛Ｘ（ｐ＋１），Ｙ（ｐ＋１）｝が（Ｘｅ，Ｙｅ）に一致したか否かを判別し（ステップＳ２０４）、一致していなければ、指標ｐの値を１つアップし（ステップＳ２０５）、ステップＳ２０２に戻り、１つアップした指標Ｐの値で特定される次の軌跡データとその次の軌跡データとの傾斜度αを求める。
【００４１】
このようにして、ＣＰＵ１５は、ｐ＋１番目の軌跡データ｛Ｘ（ｐ＋１），Ｙ（ｐ＋１）｝が（Ｘｅ，Ｙｅ）に一致するまで、ステップＳ２０２乃至ステップＳ２０５によって形成される処理ループを繰り返し、軌跡データの上端点Ａから椎茸径Ｒの中心Ｙｃから椎茸径Ｒの−２０％（−は原点側）の寸法だけ離れたＹ座標Ｙｅに対応する軌跡データ（Ｘｅ，Ｙｅ）までの各軌跡データ間の傾斜度αを求めると共に、求めた傾斜度αを傾斜度記憶エリアに順次記憶していく。なお、図１３は、傾斜度記憶エリアにおける傾斜度αの記憶状態を示す図である。
【００４２】
なお、傾斜度αを求める箇所を、椎茸径Ｒの中心Ｙｃから椎茸径Ｒの−２０％（−は原点側）の寸法だけ離れたＹ座標Ｙｅに対応する軌跡データ（Ｘｅ，Ｙｅ）までとした理由は、上部傘部とひだ部との境界が、等級Ｂ以下では軌跡データの上端点Ａ（Ｘａ，Ｙａ）から軌跡データ（Ｘｅ，Ｙｅ）までの間に存在し、かつ軌跡データ（Ｘｅ，Ｙｅ）以降は、概ね足部を含む軌跡データであることによる。
【００４３】
ＣＰＵ１５は、ｐ＋１番目の軌跡データ｛Ｘ（ｐ＋１），Ｙ（ｐ＋１）｝が（Ｘｅ，Ｙｅ）に一致すると、ステップＳ２０６に進み、記憶した各傾斜度αのうちから最大傾斜度αｍａｘを特定する（ステップＳ２０６）。
【００４４】
図１４は、上部傘部とひだ部との境界を検出するための傾斜度の算出を模式的に示す図である。図１４に示すように、上部傘部とひだ部との境界は、指標Ｐの値で特定される軌跡データとその次の軌跡データとの傾斜度αが、Ｘ座標が減少する方向に（Ｙ座標は増加）最大となる部分に存在する。
【００４５】
ＣＰＵ１５は、特定した最大傾斜度αｍａｘに対応するＰ番目の軌跡データの座標（Ｘｐ，Ｙｐ）を上部傘部の内側端点とし（ステップＳ２０７）、上部傘部の内側端点Ｙｐから上端点ＡのＹ座標Ｙａを差し引いた値を上部傘部の寸法ＫＳＡ１として記憶し（ステップＳ２０８）、ステップＳ２０９に進む。
【００４６】
ステップＳ２０９に進むと、ＣＰＵ１５は、下部傘部とひだ部との境界を検出するための傾斜度の算出を行う。ＣＰＵ１５は、軌跡データ記憶エリアに記憶された軌跡データを特定するための指標ｐに初期値「ｋ」（軌跡データの下端点Ｂを指定する値）をセットし（但し、ｋは軌跡データのデータ個数）（ステップＳ２０９）、ステップＳ２１０に進み、ｐ番目の軌跡データ（Ｘｐ，Ｙｐ）とｐ−１番目の軌跡データ｛Ｘ（ｐ−１），Ｙ（ｐ−１）｝との傾斜度βを求め（ステップＳ２１０）、Ｐ番目の軌跡データの座標（Ｘｐ，Ｙｐ）と一緒に、求めた傾斜度βを傾斜度記憶エリアに記憶する（ステップＳ２１１）。なお、傾斜度βは、β＝｛Ｘｐ−Ｘ（ｐ−１）｝／｛Ｙｐ−Ｙ（ｐ−１）｝で求まる。
【００４７】
次いで、ＣＰＵ１５は、ｐ−１番目の軌跡データ｛Ｘ（ｐ−１），Ｙ（ｐ−１）｝が（Ｘｆ，Ｙｆ）に一致したか否かを判別し（ステップＳ２１２）、一致していなければ、指標ｐの値を１つ減じ（ステップＳ２１３）、ステップＳ２１０に戻り、１つ減じた指標Ｐの値で特定される次の（１つ前の）軌跡データとその前の軌跡データとの傾斜度βを求める。
【００４８】
このようにして、ＣＰＵ１５は、ｐ−１番目の軌跡データ｛Ｘ（ｐ−１），Ｙ（ｐ−１）｝が（Ｘｆ，Ｙｆ）に一致するまで、ステップＳ２１０乃至ステップＳ２１３によって形成される処理ループを繰り返し、軌跡データの下端点Ｂから椎茸径Ｒの中心Ｙｃから椎茸径Ｒの＋２０％（−は原点側）の寸法だけ離れたＹ座標Ｙｆに対応する軌跡データ（Ｘｆ，Ｙｆ）までの各軌跡データ間の傾斜度βを求めると共に、求めた傾斜度βを傾斜度記憶エリアに順次記憶していく。なお、図１５は、傾斜度記憶エリアにおける傾斜度βの記憶状態を示す図である。
【００４９】
なお、傾斜度βを求める箇所を、椎茸径Ｒの中心Ｙｃから椎茸径Ｒの＋２０％の寸法だけ離れたＹ座標Ｙｆに対応する軌跡データ（Ｘｆ，Ｙｆ）までとした理由は、下部傘部とひだ部との境界が、等級Ｂ以下では軌跡データの下端点Ｂ（Ｘｂ，Ｙｂ）から軌跡データ（Ｘｆ，Ｙｆ）までの間に存在し、かつ軌跡データ（Ｘｆ，Ｙｆ）以前は、概ね足部を含む軌跡データであることによる。
【００５０】
ＣＰＵ１５は、ｐ−１番目の軌跡データ｛Ｘ（ｐ−１），Ｙ（ｐ−１）｝が（Ｘｆ，Ｙｆ）に一致すると、ステップＳ２１４に進み、記憶した各傾斜度βのうちから最大傾斜度βｍａｘを特定する（ステップＳ２１４）。
【００５１】
図１６は、下部傘部とひだ部との境界を検出するための傾斜度の算出を模式的に示す図である。図１６に示すように、下部傘部とひだ部との境界は、指標Ｐの値で特定される軌跡データとその１つ前の軌跡データとの傾斜度βが、Ｘ座標が増加する方向に（Ｙ座標は増加）最大となる部分に存在する。
【００５２】
ＣＰＵ１５は、特定した最大傾斜度βｍａｘに対応するＰ番目の軌跡データの座標（Ｘｐ，Ｙｐ）を下部傘部の内側端点とし（ステップＳ２１５）、下端点ＢのＹ座標Ｙｂから下部傘部の内側端点Ｙｐを差し引いた値を下部傘部の寸法ＫＳＡ２として記憶し（ステップＳ２１６）、傾斜度、傘寸法算出処理のサブルーチンを終えてメインルーチンにリターンする。
【００５３】
ステップＳ１３の傾斜度、傘寸法算出処理を終えると、ＣＰＵ１５は、椎茸径Ｒから、上部傘部の寸法ＫＳＡ１と下部傘部の寸法ＫＳＡ２の和を差し引いてひだ部足部の合計寸法ｒ１を求め（ステップＳ１４）、ＣＰＵ１５は、ひだ部足部の合計寸法ｒ１を椎茸径Ｒで除すことにより、開傘率を求め、求めた開傘率の値を記憶し（ステップＳ１５）、ステップＳ１６に進む。
【００５４】
ＣＰＵ１５は、ステップＳ１６以下の処理により、開傘率の値に基いて等級付けを行う。ＣＰＵ１５は、開傘率の値が５０％以下であるか否かを判別する（ステップＳ１６）。ＣＰＵ１５は、開傘率の値が５０％以下である場合、Ａ品として等級付けを記憶し（ステップＳ１７）、今回のメインルーチン処理を終える。ステップＳ１６にて、開傘率の値が５０％以下でない場合、ＣＰＵ１５は、ステップＳ１８に進み、開傘率の値が６５％以下であるか否かを判別する（ステップＳ１８）。即ち、開傘率の値が５０％を上回り、かつ６５％以下であるか否かを判別する。ＣＰＵ１５は、開傘率の値が５０％を上回り、かつ６５％以下である場合、Ｂ品として等級付けを記憶し（ステップＳ１９）、今回のメインルーチン処理を終える。
【００５５】
ステップＳ１８にて、開傘率の値が６５％以下でない場合、ＣＰＵ１５は、ステップＳ２０に進み、開傘率の値が９０％以下であるか否かを判別する（ステップＳ２０）。即ち、開傘率の値が６５％を上回り、かつ９０％以下であるか否かを判別する。ＣＰＵ１５は、開傘率の値が６５％を上回り、かつ９０％以下である場合、Ｃ品として等級付けを記憶し（ステップＳ２１）、今回のメインルーチン処理を終える。また、ステップＳ２０にて、開傘率の値が９０％以下でない場合、即ち、開傘率の値が９０％を上回っている場合、ＣＰＵ１５は、格外品として等級付けを記憶し（ステップＳ２２）、今回のメインルーチン処理を終える。
【００５６】
なお、図１７は、実施形態の画像処理装置１４による画像処理によって区別された椎茸の傘部、ひだ部、足部の様子を示す一態様を示す図である。また、図１８は、実施形態の画像処理装置１４による画像処理によって区別された別の椎茸の傘部、ひだ部、足部の様子を示す一態様を示す図である。
【００５７】
なお、上記実施形態において、図１０に示す傾斜度、傘寸法算出処理におけるステップＳ２０６及びステップＳ２１４において、即ち、最大傾斜度αｍａｘ及びβｍａｘを特定する処理において、例えば、図１６に示すように、最大傾斜度が２個以上存在した場合には、最初に最大傾斜度となる軌跡データ（Ｘｐ、Ｙｐ）を選択するものとする。
【００５８】
また、上述した実施形態において、傾斜度の検出を行わない範囲を設定する値±２０％、Ａ品、Ｂ品、Ｃ品を区別するための開傘率のしきい値である５０％、６５％、９０％の各値は、あくまでも一例の数値であって、実際にはデータ可変となっており、適宜各値は設定変更が行われる。
【００５９】
【発明の効果】
請求項１に記載の構成によれば、画像処理装置が、移送装置による椎茸の移送方向の中途における撮影位置においてカメラにより撮影された直線状のレーザ光を投射した椎茸画像に基いて、椎茸の直径に対する足部及びひだ部の占める長さの割合として傘部の開傘率を算出し、開傘率の値により椎茸の等級付けを行うので、斜め上方から直線状のレーザ光を椎茸の裏面に投射して、椎茸の裏面の凹凸を検出することにより、傘部に対するひだ部の落ち込み状態を検出でき、この結果、傘部とひだ部とを区別することができるため、従来では困難であった膜状の白い部分（菌糸部分）が傘部を覆っている状態の椎茸であっても、椎茸の直径に対する足部及びひだ部の占める長さの割合として傘部の開傘率を正しく算出でき、椎茸の傘部を誤りなく識別して正しく等級付けできる。
【００６０】
請求項２に記載の構成によれば、画像処理装置が、レーザ光による椎茸画像のエッジ付近から径方向中央に向かって隣り合う画素データの位置同士を順次比較して傾斜度を求め、傾斜度が最大となる隣り合う画素データの間を傘部とひだ部の境界とするので、椎茸の裏面形状において、傘部に対して最も落ち込んでいる箇所を検出でき、これに基いて、傘部とひだ部とを正確に区別することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る椎茸の等級付け装置の画像撮影系を示す概略の正面図
【図２】図１の椎茸の等級付け装置の画像撮影系を椎茸の移送方向の下流側から示す概略の側面図
【図３】斜め上方から直線状のレーザ光を投射した椎茸の裏面を上方から示す平面図
【図４】実施形態における移送途中の椎茸を検出する各検出手段の配置を示す図
【図５】カップと椎茸検出センサ（例えば、光電センサ）の配置関係を示す図
【図６】等級付け装置に配備された制御系を示す要部ブロック図
【図７】画像処理装置に配備されたＣＰＵが実行する画像処理及び等級付け処理のメインルーチンの一部を示すフローチャート
【図８】図７のフローチャートのつづき
【図９】同上のＣＰＵが実行する軌跡データ収録処理のサブルーチンを示すフローチャート
【図１０】同上のＣＰＵが実行する傾斜度、傘寸法算出処理のサブルーチンを示すフローチャート
【図１１】直線状のレーザ光を椎茸に投射して得た椎茸裏面の表面形状を表す２値化画像の一態様を示す図
【図１２】軌跡データ記憶エリアにおける軌跡データの記憶状態を示す図
【図１３】傾斜度記憶エリアにおける軌跡データの径方向中央に向かう隣り合う画素間の傾斜度αの記憶状態を示す図
【図１４】上部傘部とひだ部との境界を検出するための傾斜度の算出を模式的に示す図
【図１５】傾斜度記憶エリアにおける軌跡データの径方向中央に向かう隣り合う画素間の傾斜度βの記憶状態を示す図
【図１６】下部傘部とひだ部との境界を検出するための傾斜度の算出を模式的に示す図
【図１７】実施形態の画像処理装置による画像処理によって区別された椎茸の傘部、ひだ部、足部の様子を示す一態様を示す図
【図１８】実施形態の画像処理装置による画像処理によって区別された別の椎茸の傘部、ひだ部、足部の様子を示す一態様を示す図
【符号の説明】
１  椎茸の等級付け装置
２  椎茸
３  移送装置
４  カメラ
５  レーザ光投射装置
６  カップ
７  足部
８  ひだ部
９  傘部
１０  カップ検出手段
１１  椎茸検出手段
１２  制御装置
１３  エンコーダ
１４  画像処理装置
１５  ＣＰＵ
１６  記憶装置
１７  入出力インタフェース
１８  データメモリ
１９  フレームメモリコントローラ
２０  バス
２１  フレームメモリ
２２  Ａ／Ｄ変換器
２３  表示用ドライバ
２４  カラー変換器
【図１】
0003957133.tif 000002
【図２】
0003957133.tif 000003
【図３】
0003957133.tif 000004
【図４】
0003957133.tif 000005
【図５】
0003957133.tif 000006
【図６】
0003957133.tif 000007
【図７】
0003957133.tif 000008
【図８】
0003957133.tif 000009
【図９】
0003957133.tif 000010
【図１０】
0003957133.tif 000011
【図１１】
0003957133.tif 000012
【図１２】
0003957133.tif 000013
【図１３】
0003957133.tif 000014
【図１４】
0003957133.tif 000015
【図１５】
0003957133.tif 000016
【図１６】
0003957133.tif 000017
【図１７】
0003957133.tif 000018
【図１８】
0003957133.tif 000019