คำถามติดแท็ก matlab

MATLAB (MATrix LABoratory) เป็นสภาพแวดล้อมการคำนวณเชิงตัวเลขและภาษาการเขียนโปรแกรมรุ่นที่สี่ ใช้แท็กนี้ด้วยความระมัดระวัง .. ดูข้อความที่ตัดตอนมา

6
ปัญหาการแบ่งส่วนภาพของวัสดุที่แตกต่าง
สวัสดีชุมชน CV / รูปแบบการรับรู้ ฉันมีปัญหาร้ายแรงเกี่ยวกับการแบ่งส่วนของรูปภาพ สถานการณ์เป็นบรรยากาศภายในเตาหลอมซึ่งทำให้หัวฉันเสียสติ และฉันต้องการตรวจจับวัตถุรูปทรงของวัสดุที่แตกต่างกัน (แก้ว, เซรามิก, อัล, ไออาร์ .. ) ในช่วงเวลาสั้น ๆ (<10 วินาที) และไม่ใช่แค่กรณีพิเศษอย่างเดียว ฉันยังต้องการเส้นชั้นความสูงในแถวพิกเซลต่อเนื่องเพื่อรับรหัส ดังนั้นจำเป็นต้องใช้รหัสลูกโซ่หรือที่เรียกว่าการติดตามเส้นขอบ / รูปร่างดังนั้นรูเปิดจึงไม่ดี ในพื้นหลังไม่ใช่เสียงเชิงเส้นประมาณฝุ่นอนุภาคหรืออย่างอื่นที่ปรากฏขึ้นเป็นครั้งคราว ยินดีต้อนรับข้อเสนอแนะ Matlab หรือ OpenCV เพื่อให้ชัดเจนยิ่งขึ้นฉันได้โพสต์ภาพเป้าหมายและวัตถุโปร่งใสครึ่งหนึ่งซึ่งต้องตรวจจับด้วย นอกจากนี้ยังมีตัวอย่างเพิ่มเติมที่ต้องระวัง อย่างที่คุณเห็นในภาพ # 1 มีอนุภาคอยู่ทางด้านขวาของภาพและใกล้กับรูปร่างชั้นนอกของดาวซึ่งเป็นวัตถุ ความคมชัดโดยรวมยังไม่ดีมาก วัตถุนั้นตั้งอยู่บนชั้นใต้ดินซึ่งไม่เกี่ยวข้องกับการตรวจจับเส้นชั้นความสูง รูปภาพ # 2 แสดงวัตถุแบบกึ่งโปร่งใสซึ่งเป็นไปได้เช่นกัน ฉันต้องการค้นหารูปร่าง / ขอบเขตของวัตถุนั้นเช่นบนหน้าจอถัดไป (เส้นสีแดง) สี่เหลี่ยมสองรูป (สีเหลือง) กำลังทำเครื่องหมายจุดเริ่มต้น (ซ้าย) และจุดสิ้นสุด (ขวา) เส้นสีฟ้านั้นไม่น่าสนใจ …

2
สัญญาณสูงผ่านเหมือนสัญญาณลบสัญญาณต่ำหรือไม่?
คำถามของฉันคือถ้าฉันต้องการ high-pass สัญญาณมันเหมือนกับสัญญาณ low-pass และลบมันออกจากสัญญาณหรือไม่? ในทางทฤษฎีมันเหมือนกันหรือไม่? มันเหมือนจริงหรือไม่? ฉันค้นหาแล้ว (ทั้งบน google และ dsp.stackexchange) และฉันพบคำตอบที่ขัดแย้งกัน ฉันเล่นกับสัญญาณแล้วนี่คือผลลัพธ์ ฉันไม่สามารถเข้าใจได้ นี่คือสัญญาณที่มีความถี่การสุ่มตัวอย่างทุกๆสี่วินาที ฉันออกแบบตัวกรองสัญญาณความถี่วิทยุต่ำด้วยคลื่นความถี่ช่วงเปลี่ยนจาก 0.8 mHz ถึง 1 mHz และกรองสัญญาณ ฉันยังออกแบบตัวกรอง high-pass ที่มีช่วงการเปลี่ยนภาพเดียวกันและกรองสัญญาณ นี่คือผลลัพธ์ ภาพแรกนี้แสดงสัญญาณต้นฉบับเป็นสีดำและสัญญาณต่ำผ่านเป็นสีน้ำเงิน พวกเขาเกือบจะอยู่ด้านบนของกันและกัน แต่ไม่มาก เส้นโค้งสีแดงเป็นสัญญาณลบสัญญาณสูงผ่านซึ่งอยู่ด้านบนของสัญญาณ ภาพที่สองนี้เป็นเพียงภาพแรกที่ซูมเข้าเพื่อแสดงสิ่งที่เกิดขึ้น ที่นี่เราเห็นว่าชัดเจนทั้งสองไม่เหมือนกัน คำถามของฉันคือทำไม มันเป็นเรื่องเกี่ยวกับวิธีที่ฉันใช้ตัวกรองทั้งสองหรือมันเป็นสิ่งที่ในทางทฤษฎีเป็นอิสระจากการนำไปใช้ ฉันไม่รู้มากเกี่ยวกับการออกแบบตัวกรอง แต่ฉันรู้ว่ามันเป็นวิธีที่ใช้งานง่าย นี่คือรหัส MATLAB เต็มรูปแบบในการทำซ้ำทั้งหมดนี้ ฉันใช้คำสั่ง filtfilt เพื่อกำจัดความล่าช้าเฟส แต่สิ่งอื่นที่ชี้ให้เห็นที่นี่คือตัวกรองไม่ได้ถูกทำให้เป็นมาตรฐาน เมื่อฉันรวม (Hd.Numerator) ฉันได้รับ 0.9930 สำหรับ low-pass …

2
ฉันจะคำนวณ SNR ของสัญญาณที่มีเสียงดังได้อย่างไร
ฉันมีปัญหาในการทำความเข้าใจวิธีการใช้งานจริง ฉันมีไฟล์ wav ที่มีคำพูดที่บริสุทธิ์และไฟล์ ave อื่นที่เพิ่งมีสัญญาณรบกวนพื้นหลัง (อาจเป็นสิ่งต่าง ๆ เช่นเสียงสีขาวเสียงฝูงชนบันทึกเสียงลมพัด ฯลฯ ) เหล่านี้เป็นคำพูดที่บริสุทธิ์หรือเสียงล้วน ดังนั้นฉันคิดว่าฉันสามารถรับค่า SNR จากพวกเขาโดยการแบ่งตัวอย่างง่ายๆที่สอดคล้องกัน (หรือค่าเฉลี่ยของกรอบตัวอย่าง) ในไฟล์ทั้งสอง จากนั้นฉันรวมเข้าด้วยกันด้วยความกล้าเพื่อให้ได้ไฟล์เสียงพูดที่มีเสียงดัง ฉันเดาว่าไฟล์นี้จะยังคงมี SNR เดียวกัน ตอนนี้ฉันส่งไฟล์นี้ผ่านโปรแกรมลดเสียงรบกวนและได้รับไฟล์อื่นตามมา ฉันจะคำนวณ SNR ของไฟล์ "ลดเสียงรบกวน" นี้ได้อย่างไร --- แก้ไข --- คำถามติดตามติดตามโพสต์ที่นี่
14 matlab  snr 

2
ฉันจะเปลี่ยนสูตรเพื่อตรวจจับบาร์โค้ดในทุกมุมได้อย่างไร - MATLAB
ฉันจะเปลี่ยนสูตรเพื่อตรวจจับบาร์โค้ดในทุกมุมได้อย่างไร rgb = imread('barcode4.jpg'); % Resize Image rgb = imresize(rgb,0.33); figure(),imshow(rgb); % Convert from RGB to Gray Igray = double(rgb2gray(rgb)); % Calculate the Gradients [dIx, dIy] = gradient(Igray); B = abs(dIx) - abs(dIy); % Low-Pass Filtering H = fspecial('gaussian', 20, 10); C = imfilter(B, H); C = imclearborder(C); figure(),imagesc(C);colorbar

4
ICA - ความเป็นอิสระทางสถิติและค่าลักษณะเฉพาะของเมทริกซ์ความแปรปรวนร่วม
ฉันกำลังสร้างสัญญาณที่แตกต่างกันโดยใช้ Matlab ผสมพวกเขาโดยการคูณพวกเขาโดยการผสมเมทริกซ์ A และจากนั้นพยายามที่จะได้รับกลับมาสัญญาณเดิมใช้FastICA จนถึงตอนนี้สัญญาณที่กู้คืนมานั้นแย่มากเมื่อเทียบกับสัญญาณดั้งเดิมซึ่งไม่ใช่สิ่งที่ฉันคาดไว้ ฉันพยายามดูว่าฉันทำอะไรผิดหรือเปล่า สัญญาณที่ฉันกำลังสร้างมีดังต่อไปนี้: s1 = (-x.^2 + 100*x + 500) / 3000; % quadratic s2 = exp(-x / 10); % -ve exponential s3 = (sin(x)+ 1) * 0.5; % sine s4 = 0.5 + 0.1 * randn(size(x, 2), 1); % gaussian s5 = (sawtooth(x, 0.75)+ …

5
การตรวจวัดแรงกดด้วยรหัส MATLAB
ฉันยังใหม่กับหัวข้อของการตรวจจับการบีบอัด ฉันอ่านบทความเกี่ยวกับเรื่องนี้โดย R.Baranuik, Y.Eldar, Terence Tao เป็นต้นเอกสารเหล่านี้โดยทั่วไปให้รายละเอียดทางคณิตศาสตร์ที่อยู่เบื้องหลังมันคือ Sparsity, RIP, L1 norm minimization เป็นต้นอย่างไรก็ตามทุกคนสามารถให้รหัส MATLAB ได้ ที่บรรลุการรับรู้การบีบอัด? ขอบคุณล่วงหน้าสำหรับความช่วยเหลือใด ๆ

3
ร่อนเป็นวิธีที่ดีในการแยกฟีเจอร์จากรูปภาพหรือไม่?
ฉันกำลังพยายามดึงคุณสมบัติต่าง ๆ จากรูปภาพ แต่ฉันไม่สามารถรับคะแนนที่ต้องการแยกได้และทำให้รูปภาพของฉันไม่สามารถจับคู่กับแม่แบบได้ มีจุดตรวจที่ฉันต้องทำก่อนที่จะใช้ SIFT กับภาพของฉันเพื่อให้ได้ผลลัพธ์ที่ดีหรือไม่? ตัวอย่างเช่นภาพเทมเพลตคือ; รูปภาพเป้าหมาย

3
การแปลงฟูริเยร์แบบไม่ต่อเนื่อง: เทอมดีซีคืออะไร?
ขณะนี้ฉันกำลังเล่นกับ Discrete Fourier Transform (DFT) ใน Matlab เพื่อดึงคุณสมบัติต่าง ๆ จากภาพ ฉันชอบที่จะเข้าใจแนวคิดที่ฉันใช้อย่างเต็มที่ ฉันได้อ่านคำอธิบายหลายอย่างเช่นนี้แต่จนถึงขณะนี้ยังไม่มีใครอธิบายความหมายของคำศัพท์ DC ได้ ทั้งหมดที่ฉันรู้ก็คือเทอม k'the ของDFTนั้นสามารถเขียนเป็น: ที่ เป็นปัจจัย twiddle นั่นหมายความว่าเทอมแรก (เทอม DC) คือแอมพลิจูดที่ไม่มีความถี่ มีคนอธิบายได้ไหมว่าเพราะเหตุใดจึงเรียกว่าคำศัพท์ DC? อะไรคือความสัมพันธ์กับ "กระแสตรง" และความเกี่ยวข้องของเทอม DC คืออะไร? มันจะมีประโยชน์เมื่อใดและเพื่ออะไร
13 image  matlab  fft  dft 

3
การเข้ารหัสการประมวลผลภาพ
ฉันสงสัยว่าภาษาใดดีที่สุดสำหรับการประมวลผลภาพ ฉันรู้ว่า MATLAB มีห้องสมุดและชุมชนผู้ใช้ที่ดี ฉันไม่ได้ตรวจสอบมันมีสำหรับหลามเช่นกัน ภาษาที่มีประสิทธิภาพที่สุดสำหรับสิ่งนี้คืออะไร?

1
การจัดโครงสร้างใหม่ของแขนขาของต้นไม้ที่ถูกแยกออกโดยใบไม้
จะมีวิธีอย่างไรในการสร้างกิ่งก้านขึ้นใหม่ในภาพถ่ายของต้นไม้ที่ส่วนของกิ่งก้านปกคลุมด้วยใบไม้ ฉันสามารถแยกส่วนต่าง ๆ ที่มองเห็นได้ของกิ่งไม้โดยการตั้งค่าใหม่และเปิดด้วยส่วนของเส้นตรงในมุมที่แตกต่างกันไม่กี่ แต่ฉันจะ (ประมาณ) เติมช่องว่างที่ถูกปกคลุมด้วยใบไม้ได้อย่างไร สมมติว่าเราเริ่มต้นด้วยภาพวาดของต้นไม้นี้: โหลดภาพเป็นโทนสีเทา uu = mmreadgray ('tree2.jpg') เกณฑ์สีเข้ม แปลงเป็นไบนารี่ ลบภูมิภาคที่เชื่อมต่อภายใต้พื้นที่ 200px vv = mmareaopen (mmbinary (mmthreshad (mmneg (uu), 200)), 20) vv แบบเปิดที่มีส่วนของเส้น 10px ที่ 90 องศา, 180 องศา, 135 องศาและ 45 องศา; เพิ่มภาพเหล่านี้เข้าด้วยกันเพื่อสร้างภาพเครื่องหมาย zz zz = mmaddm (mmaddm (mmaddm (mmopen (vv, mmseline (10, 90)), …

2
การตรวจจับจำนวนเส้นด้ายในภาพผ้า
ฉันเป็นผู้ใช้งานมือใหม่ในการประมวลผลภาพและทำงานในโครงการเพื่อกำหนดจำนวนเส้นด้ายในภาพสิ่งทอเช่น warps และ wefts (ตั้งฉากและเส้นด้ายขนานกับแกน x) ฉันพยายามตรวจสอบเส้นด้ายด้วยการหาผลรวมของคอลัมน์และแถวสำหรับการแปรปรวนและผ้าตามลำดับ แต่ดูเหมือนจะไม่ทำงานเพราะภาพไม่ได้โฟกัสและคมชัดมาก นอกจากนี้วิธีการนี้ยังไวต่อการจัดเรียงของเส้นด้ายในเนื้อผ้า กรุณาเสนออัลกอริทึมที่ดีกว่าถ้าเป็นไปได้สำหรับการตรวจสอบเส้นด้าย นอกจากนี้หากมีความเป็นไปได้ที่จะทำให้เส้นด้ายตรงสำหรับภาพที่จับทุก ฉันลอง IMROTATE แต่สร้างพื้นที่สีดำในภาพซึ่งรบกวนผลรวมของแถวและอัลกอริทึมที่ล้มเหลว ความช่วยเหลือใด ๆ ในเรื่องนี้จะมีค่ามากสำหรับฉัน ขอบคุณ

3
เหตุใดตัวกรองสัญญาณหยุดของฉันจึงลดทอนความถี่อื่น ๆ ได้
นี่คือรหัสของฉันสำหรับสัญญาณสองโทนซึ่งฉันใช้แถบหยุดเพื่อลบเสียงที่สูงขึ้นแล้วพล็อตก่อน (เป็นสีน้ำเงิน) และหลัง (เป็นสีแดง) ในโดเมนความถี่หลังจากสังสัยสัญญาณของฉันด้วยสัมประสิทธิ์ตัวกรอง . หากคุณใส่รหัสนี้ใน Matlab คุณจะเห็นได้อย่างชัดเจนว่าตัวกรองความถี่สูงได้ถูกลบออกไปเรียบร้อยแล้ว แต่ด้วยเหตุผลบางอย่างความกว้างของความถี่ต่ำได้ถูกตัดลงครึ่งหนึ่งและยิ่งฉันเพิ่ม # ของสัมประสิทธิ์ตัวกรองมากขึ้น ยิ่งทำให้เส้นโค้งทั้งหมดของฉันแบนลงทำไมจึงเกิดสิ่งนี้ขึ้น และฉันจะป้องกันได้อย่างไรเพื่อที่วงหยุดจะไม่เผยแพร่ออกไปด้านนอก? นี่คือภาพและรหัส: fSampling = 8000; tSampling = 1 / f การสุ่มตัวอย่าง t = 0: t การสุ่มตัวอย่าง: 0.005; F0 = 1,000; F1 = 3000; xt = sin (2 * pi * F0 * t) + sin (2 * …
12 filters  matlab 

4
การคำนวณค่าสัมพันธ์อัตโนมัติอย่างมีประสิทธิภาพโดยใช้ FFT
ฉันกำลังพยายามคำนวณความสัมพันธ์อัตโนมัติบนแพลตฟอร์มที่มีการเร่งความเร็วแบบดั้งเดิมที่ฉันมีอยู่คือ (I) FFT ฉันมีปัญหาว่า ฉันเป็นต้นแบบในMATLAB อย่างไรก็ตามฉันสับสนเล็กน้อย ฉันคิดว่ามันใช้งานได้ง่ายดังต่อไปนี้ (มาจากความทรงจำดังนั้นขอโทษถ้าฉันทำผิดเล็กน้อย) autocorr = ifft( complex( abs( fft( inputData ) ), 0 ) ) อย่างไรก็ตามฉันได้รับผลลัพธ์ที่แตกต่างจากการใช้xcorrฟังก์ชั่น ตอนนี้ฉันคาดหวังอย่างเต็มที่ว่าจะไม่ได้รับทางด้านซ้ายของความสัมพันธ์แบบอัตโนมัติ (เนื่องจากเป็นภาพสะท้อนของทางด้านขวามือและไม่จำเป็นต้องมีอยู่แล้ว) อย่างไรก็ตามปัญหาคือด้านขวามือของฉันดูเหมือนจะสะท้อนตัวเองรอบจุดกึ่งกลาง ซึ่งหมายความว่าฉันได้รับข้อมูลประมาณครึ่งหนึ่งอย่างที่ฉันคาดไว้ ดังนั้นฉันแน่ใจว่าฉันจะต้องทำสิ่งที่ผิดง่าย ๆ แต่ฉันก็ไม่สามารถหาอะไรได้

5
การประมาณความล่าช้าของสัญญาณออสซิลโลสโคปโดยใช้สหสัมพันธ์ข้าม
ฉันได้บันทึก 2 สัญญาณจากออสโคป พวกเขามีลักษณะเช่นนี้: ฉันต้องการวัดการหน่วงเวลาระหว่างพวกเขาใน Matlab แต่ละสัญญาณมี 2,000 ตัวอย่างพร้อมความถี่การสุ่มตัวอย่าง 2001000.5 ข้อมูลอยู่ในไฟล์ csv นี่คือสิ่งที่ฉันมี ฉันลบข้อมูลเวลาออกจากไฟล์ csv เพื่อให้มีเพียงระดับแรงดันไฟฟ้าเท่านั้นที่อยู่ในไฟล์ csv x1 = csvread('C://scope1.csv'); x2 = csvread('C://scope2.csv'); cc = xcorr(x1,x2); plot(cc); สิ่งนี้ให้ผลลัพธ์นี้: จากสิ่งที่ฉันได้อ่านฉันจำเป็นต้องใช้สหสัมพันธ์ข้ามสัญญาณเหล่านี้และสิ่งนี้ควรให้ฉันสูงสุดเกี่ยวกับการหน่วงเวลา อย่างไรก็ตามเมื่อฉันใช้สหสัมพันธ์ข้ามสัญญาณเหล่านี้ฉันได้รับสูงสุดที่ 2000 ซึ่งฉันรู้ว่าไม่ถูกต้อง ฉันควรทำอย่างไรกับสัญญาณเหล่านี้ก่อนที่จะข้ามสัมพันธ์กัน? แค่มองหาทิศทาง แก้ไข: หลังจากลบ DC offset นี่คือผลลัพธ์ที่ฉันได้รับ: มีวิธีการล้างข้อมูลนี้เพื่อให้ได้เวลาล่าช้ามากขึ้นหรือไม่? แก้ไข 2: นี่คือไฟล์: http://dl.dropbox.com/u/10147354/scope1col.csv http://dl.dropbox.com/u/10147354/scope2col.csv

3
สัมประสิทธิ์ตัวกรองในตัวกรองดิจิตอลแสดงถึงอะไร?
ฉันออกแบบตัวกรองดิจิทัลโดยใช้ fdatool ของ matlab และได้รับค่าสัมประสิทธิ์ตัวกรองจากเครื่องมือ ปัญหาคือฉันออกแบบตัวกรองลำดับที่ 4 นี่ให้ค่าตัวกรอง 5 ค่า h[] = {0.1930,0.2035,0.2071,0.2035,0.1930} x[k] = Discrete time input signal ตอนนี้ใช้สูตร Output = h[k]*x[n-k]; ผลลัพธ์หมายถึงค่าที่กรองสุดท้ายแม้ว่าผลลัพธ์จะออกมาดี แต่ฉันไม่สามารถค้นหาว่าสัมประสิทธิ์เหล่านี้ได้รับจาก matlab และการคูณเพียงแค่ (การแปลง) ให้การตอบสนองที่กรองสุดท้ายสำหรับตัวอย่างใด ๆ ลิงก์หรือคำอธิบายใด ๆ จะทำเช่นนั้น ฉันต้องการทราบว่าการทำงานแบ็คเอนด์ที่สมบูรณ์ของการคำนวณสัมประสิทธิ์ตัวกรอง โปรดแสดงความคิดเห็นหากฉันไม่แน่ใจในความสงสัยของฉันที่ไหนสักแห่ง ขอบคุณ :)
12 filters  matlab 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.