機械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
樓主: awolfbee
打印 上一主題 下一主題

開始設計一種大蒜播種機

[復制鏈接]
151#
 樓主| 發(fā)表于 2021-2-2 22:32:31 | 只看該作者

5 u+ M8 W% o5 f6 b0 A4 s) n剝掉蒜皮后的輪廓圖。最后一副圖樣有點奇怪,生成的輪廓曲線連貫且平滑,也就是重新生成了下然后就變成這樣了,不知道程序上有哪些變動。
3 T/ p4 e0 J8 p" ^

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊會員

x

點評

這一次購買的大蒜品種有點奇怪,蒜瓣都是鼓肚子的,不像之前購買的那種,輪廓圖都是和月牙一樣。看來這個蒜的種類是很講究的,要注意了。  發(fā)表于 2021-2-2 22:37
肉眼能看得出哪邊是蒜尾,哪邊是蒜尖嗎?如果人眼都分辨不出來的話,機器估計也無能為力了。  發(fā)表于 2021-2-2 22:36
回復 支持 反對

使用道具 舉報

152#
 樓主| 發(fā)表于 2021-2-2 22:39:23 | 只看該作者
程序如下:$ h6 h5 a' b6 ^
" R9 C5 G: @5 m  E
操作系統(tǒng): win7 64位
( U( W# R3 E  T. e3 ~IDE:VC++2010旗艦版& c! \1 r+ ]3 r! Q9 D% W6 r9 D
視覺軟件: OPENCV 3.08 I4 N: i& k0 }, g
1 x" u% I( `5 f

. I1 h3 o- \, h//#include "stdafx.h"
+ r" S& f& G$ A, {1 m. G! ~#include "core/core.hpp"
2 Y, p# F& [8 c+ L) ~- L  Y. p#include <opencv2/imgproc/imgproc.hpp>
; v# ]5 n2 ~5 k. x#include <opencv2/highgui/highgui.hpp>, O. N( f1 p9 A! Z
#include <iostream>
: e% B0 y1 }: Q#include "highgui.h"1 o+ l* z& P) ]: D  m# X3 Y. S3 D
#include <set>
2 T6 l! W3 s; y1 b2 P9 x: O+ D#include <opencv2\opencv.hpp>  k" U0 ?* i* @5 {9 o8 d0 T
#include<vector>     //包含所需要的類文件vector,還有一定要加上using namespace std。# x% ]" n0 n6 D0 {: n6 U* i+ S
#include <stdio.h>
/ t& r( H! Y$ ]1 n#include <conio.h>% A/ K5 ?% E0 H8 A7 Q
#include <opencv2/highgui/highgui_c.h>
" [! _3 D4 Y; x. c! x! N3 D* Y% m#include <math.h>
9 b% u3 S5 Z% z6 ^. k1 T. e' F#include "iostream"
7 U% l6 R" y2 \. [8 C#include "cv.h": d7 L. N# W0 x3 C2 D
#include "highgui.h"2 T. A8 u  ~6 \  ^* M/ t
using namespace std;' q) z7 G6 C/ U2 a/ z; ]
using namespace cv;, \: s+ f0 L; H& j: O5 D; w- t7 ?; Y

0 U7 F3 h" w* h) E/ W' J
0 C) N8 `, q* C/ P1 Y' G9 A
( d: Z4 ?# a4 L9 ^/ k//-----------------------------------【main( )函數(shù)】--------------------------------------------* C2 k$ ~: }4 S; q7 f* i
//     描述:控制臺應用程序的入口函數(shù),我們的程序從這里開始4 y  G0 C/ u9 q) ~+ \
//-------------------------------------------------------------------------------------------------
; B% k4 r8 }7 B, |. _" V9 f. f  c% F8 x4 B
int main()6 T8 l$ w% E* g5 F. Y% u+ T, `

7 E4 g' b% M( {8 _{( r, M* q- V9 n( }5 g
int chufa=1;
3 }3 s, D6 W1 x* H$ a) j0 O    //【1】從攝像頭讀入視頻: Z$ X: O6 E2 M) E1 O! R

+ \) l  a) K, W8 }7 {+ O    VideoCapture capture(0);' y/ T: [% a. n- J

0 e. B* ^/ r9 Y3 x5 G2 O    Mat edges;   //定義類
" x. g0 q$ s* d
: v6 C% |5 l1 dnamedWindow("預處理后的視頻", 0);5 l8 ^6 y% G4 s. T8 T
! `' c7 O4 l6 _: K3 Z" a0 g3 J
//   Mat frame;  //定義一個Mat變量,用于存儲每一幀的圖像,將該項至于循環(huán)之外,不要重復定義Mat,增快速度;
; v/ I4 t5 M5 r; o# M# g' h9 Y7 F
6 B8 `# b9 `' i8 R8 D. @' [8 m//定義輪廓和層次結構(這個不是很理解)! ~7 h% M( Q) _. [; Y
+ W% f. ]2 G6 p+ f0 p' |  @
//vector<vector<Point>>contours;  //其中contours 應該是一個變量,可以用在后面的輪廓查找的函數(shù)中,定義點的向量2 s, Q+ ]) `+ u3 m

) c' V: A. N+ K/ \' b) W' @2 W  r//vector<Vec4i>hierarchy;    //定義四維向量???4 w, y/ b. y9 b6 O  m3 m: M. s! }
7 Y; z9 A6 x; c3 Y, {4 ?  s% W
//【2】循環(huán)顯示每一幀
# h& I% T' K0 e8 ~! j' r1 y/ B: c
! m2 T& R1 L1 n6 [4 |; D# P    while (1)3 @( V3 v8 ?3 x

% U: \/ D3 m+ K2 N1 O' r' Q    {
9 O) A! u' L7 y# S  Q' \* o9 i2 k" I5 c$ L& f! r2 U
        //讀入圖像
; @7 }  ~% d- g! X! H6 ~$ M( f0 ^& ^: W4 ]. [
           Mat frame;  //定義一個Mat變量,用于存儲每一幀的圖像,將該項至于循環(huán)之外,不要重復定義Mat,增快速度;
4 h# l, B% y' c, g- v' t
0 _5 H4 z% l- u8 q1 Z0 o5 U           if (chufa=1) //當取樣信號為1時,開始取當前幀,然后進行識別+ ?) D& w* [7 G  N' p
: {: T: n9 x# n
                        {. ^' N1 `, V" ^& H

! i# l& z' o" Q) U! Q3 G                          capture >> frame;                                              //讀取當前幀,videocapture函數(shù)是不斷讀取外界的視頻,需要一個類來讀取當前幀,
- I  w9 N* N( ^0 r% G/ X- F                                                  chufa=0;
# u" Z7 c) |0 ?! i+ t' r  a7 [& c+ [3 k$ X1 ~( p6 ~
                                                                                                  //對于只需要一副圖片來進行檢測的操作來說,每個循環(huán)只要出發(fā)某個取樣信號,取樣一次就好了。因此用IF語句
/ e# ?# I; v6 ]8 Z( h5 ]! _/ ]" U) Z7 _0 b% z6 W6 i$ E+ V8 c5 o
                           cvtColor(frame, edges, CV_BGR2GRAY);      //灰度化  --如果說需要使用顏色檢測蒜瓣的底部和頭部,可能還需要顏色來判斷
, R& G) z8 P  A3 c. h. m) h
! f. h5 N/ P9 a- F1 e, }                          threshold(edges, edges, 120, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);         //二值化,將其變成黑白兩色的圖樣
: ~2 F5 Z4 T1 J% a( n  h& e  [3 [( b5 w& k# R/ k
                          blur(edges, edges, Size(3, 3));                           //進行模糊,使用3*3內(nèi)核來降噪1 V" N8 F1 C. L9 [4 y$ u
; d9 {& P9 X! l
                         Canny(edges, edges, 0, 30, 3);                            //進行canny邊緣檢測并顯示1 H" {8 p7 _9 t1 p0 \2 A
+ ~2 [  h) O' Z/ k' }
                       // findContours (edges, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);           //要求原圖像為8位單通道圖像;其中edges是源文件,contours是輪廓函數(shù)??
: E4 R+ v" v  J5 U6 n5 E
( Y6 I4 w* }  Y1 |( P5 v                                                                                                                                                                                      //CV_RETR_EXTERNAL,僅需要外側的輪廓用于識別,
- |# I3 I+ k' D; R4 N$ u2 }0 c* Q- h5 v1 g" a
                                                                                                                                                                                      //CV_CHAIN_APPROX_NONE,獲取每個輪廓的每個像素,最好是連續(xù)的,1 ]  `5 J* v' C% W* Z
4 V/ [. Q3 f/ A
                       }+ G% J8 b1 o! @: v3 `  k) n4 x! y
* W: ]. ^" I7 V# E$ f
        imshow("蒜瓣輪廓圖", edges);                        //顯示當前幀- |2 V8 s+ o& U& t! L1 z  b

1 u7 ^, u2 l' U# A4 O" O        if (waitKey(30) >= 0)$ s# @" q7 v! R7 Y: V( J: X( z
/ J- U, J" M' R* Y
            break;
+ p3 X$ U1 m/ Y7 E. s3 S8 {& I4 p
7 [0 m8 f( ^& V& Q0 V ! i7 c* C* K- Y1 X4 V8 f" P: y9 B

* ]7 @. ^: D* @+ v: g6 u    }6 J: M, u6 W5 x/ f2 ^9 n

& c# J# I& H% b' X/ T% W    return 0;
' W) |1 f" M1 I$ T  k( {
* F$ u- g6 ^# ~& o% Q& v, x& ]1 {8 S}
回復 支持 反對

使用道具 舉報

153#
 樓主| 發(fā)表于 2021-2-5 19:21:52 | 只看該作者
大白小白 發(fā)表于 2020-11-18 13:14; j% [+ [; I( w. J5 ~: |
@awolfbee 蒜頭壓碎成蒜瓣,有視頻么?四處紛飛?能不能溫柔點?

/ p6 Q# X6 [  M; H5 m6 a* j( M1 Qhttps://item.taobao.com/item.htm?spm=a230r.1.14.30.2220dd82nuirRU&id=626297555950&ns=1&abbucket=2#detail
" [( j: Y+ [; h) K5 j- a. ?' P( Q7 n' K; K; M+ a: e, e" g0 d
這是大蒜分瓣機。
) j( B7 s  \+ N
回復 支持 反對

使用道具 舉報

154#
 樓主| 發(fā)表于 2021-2-5 19:24:34 | 只看該作者
大白小白 發(fā)表于 2020-11-22 21:23' M! l" e5 v. w% c# T
在圖片上注釋,沒看懂啥意思

; b3 S; q4 c; U* i( Q9 f4 T
  ^# P% b) H8 |" h帶有塊狀的根部,大蒜剝好之后是沒有這個的。
) n; R4 A3 V' W1 t

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊會員

x

點評

這個根部如果剝離的話,在蒜瓣底部會形成一個火山口樣的形態(tài),如果能做激光三維,這倒是一個切入點,關鍵是激光三維傳感器太貴了。。∫粋十幾萬。。!加上他們給的程序就27萬!我想自己開發(fā)算了。  發(fā)表于 2021-2-5 22:55
回復 支持 反對

使用道具 舉報

155#
發(fā)表于 2021-2-5 19:29:10 | 只看該作者
awolfbee 發(fā)表于 2021-2-5 19:24# q6 ~8 q6 u4 g+ O! E
帶有塊狀的根部,大蒜剝好之后是沒有這個的。

+ n7 Q- E0 U3 V; f3 I. B老大放假了?% A" _) n& \& z5 _

點評

沒有,要到29才放假,放假也閑不著,孩子搶電腦看旺旺隊,唉……  發(fā)表于 2021-2-5 22:53
回復 支持 反對

使用道具 舉報

156#
 樓主| 發(fā)表于 2021-2-11 00:34:34 | 只看該作者
今天,哦不, 是昨天開始放假,上午上班的時候看了一個關于單攝像頭加線狀激光發(fā)射器旋轉配合OPENCV形成立體圖的文章,對激光三維照相有了一點了解。之所以考慮這樣的方式,是因為這幾天一直在思考如何從大蒜的側面的形狀判斷哪邊是頭或者尾,問題在于誤判率太高。所以還是回到檢測頭和尾的形狀特征上來。之前考慮的是接觸式的檢測方式,當時有考慮用點陣壓力傳感器測量蒜頭和蒜尾的接觸壓力,如果壓力是環(huán)形,則是尾(實際上也不一定,因為有根的存在就會誤判),如果壓力為點狀,則為蒜尖。但是從耐久性來考慮,還是非接觸式的為好,這樣看來,非激光立體照相不可了。
回復 支持 反對

使用道具 舉報

157#
 樓主| 發(fā)表于 2021-2-16 23:18:15 | 只看該作者
http://www.csksoft.net/blog/post/lowcost_3d_laser_ranger_1.html4 U) |9 e0 c0 J# b  y! Q( [7 `" X
1 ?+ n" g7 {8 W7 ?% G9 L% M
這是一個激光三維成像的帖子,在其中得到不少啟發(fā)。
% M, A% m- i4 D) B& t3 \7 l$ r7 `" J) Q2 y5 ~5 A$ x, K' l
如果能對蒜瓣的頭尾進行三維掃描,獲得立體的圖像,則可以對圖像進行分析,確定頭尾,這比用基恩士的要劃算多了,而且這個掃描面積很小,估計就是10*10個mm。
回復 支持 反對

使用道具 舉報

158#
 樓主| 發(fā)表于 2021-2-16 23:19:31 | 只看該作者
利用廢舊光驅(qū)上的鏡頭,在之前的攝像頭上增加一個透鏡,調(diào)節(jié)焦距,形成一個小的電子顯微鏡,這是大蒜的底部照片。+ ~, {/ J9 Y( }2 a5 H  n

5 i# T6 E5 S; Q# D+ Z% ^" l& r& [6 \! O! G: D! S- k& h: o4 h
這個嘛,猜猜?* E' A+ `7 u2 t* T& \! W) m7 t( w

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊會員

x
回復 支持 反對

使用道具 舉報

159#
 樓主| 發(fā)表于 2021-2-16 23:22:53 | 只看該作者
老年手機的鍵盤,B-189,保密手機。
$ P+ G& K! y# ^  ?9 m; j0 X9 R4 g8 E. J6 x; l3 m
可以非常清晰地看到手指的指紋。
回復 支持 反對

使用道具 舉報

160#
發(fā)表于 2021-2-18 16:21:16 | 只看該作者
@awolfbee 試試另一個思路,做光的反射和散射對比,從而判斷首尾。
+ C& ]7 f/ z6 J7 l6 X3 v0 g; `

點評

謝謝,可以試試看。  發(fā)表于 2021-2-18 18:32

評分

參與人數(shù) 1威望 +1 收起 理由
大白小白 + 1 新年好!

查看全部評分

回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機版|Archiver|機械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2024-9-20 12:14 , Processed in 0.056338 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表