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

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

2
ลดระดับเสียงพูดเพื่อลบเนื้อหาทางอารมณ์
ฉันยินดีที่จะรับข้อเสนอแนะทั้งใน R หรือ Matlab แต่รหัสที่ฉันแสดงด้านล่างคือ R-only ไฟล์เสียงที่แนบมาด้านล่างเป็นการสนทนาสั้น ๆ ระหว่างคนสองคน เป้าหมายของฉันคือการบิดเบือนคำพูดของพวกเขาเพื่อให้เนื้อหาทางอารมณ์จะกลายเป็นไม่รู้จัก ความยากลำบากคือฉันต้องการพื้นที่ว่างสำหรับการบิดเบือนนี้พูดได้ตั้งแต่ 1 ถึง 5 โดยที่ 1 คือ 'อารมณ์ที่จดจำได้สูง' และ 5 คือ 'อารมณ์ที่ไม่รู้จัก' มีสามวิธีที่ฉันคิดว่าฉันสามารถใช้เพื่อให้บรรลุด้วยอาร์ 'ความสุข' คลื่นเสียงดาวน์โหลดได้จากที่นี่ ดาวน์โหลด 'โกรธ' คลื่นเสียงจากที่นี่ วิธีแรกคือการลดความเข้าใจโดยรวมโดยการลดเสียงรบกวน โซลูชันนี้มีการนำเสนอด้านล่าง (ขอบคุณ @ carl-witthoft สำหรับคำแนะนำของเขา) สิ่งนี้จะลดทั้งความเข้าใจและเนื้อหาทางอารมณ์ของคำพูด แต่มันเป็นวิธีที่ 'สกปรก' - ยากที่จะทำให้ถูกต้องเพื่อให้ได้พื้นที่พาราเมทริกเพราะสิ่งเดียวที่คุณสามารถควบคุมได้คือความกว้างของเสียง require(seewave) require(tuneR) require(signal) h <- readWave("happy.wav") h <- cutw(h.norm,f=44100,from=0,to=2)#cut down to …
12 matlab  audio  noise 

4
นี่เป็นวิธีที่ถูกต้องสำหรับการแก้ไขสัญญาณรบกวนแบบคงที่หรือไม่?
ขณะนี้ฉันมีส่วนร่วมในโครงการที่เกี่ยวข้องกับการตั้งโปรแกรมเซ็นเซอร์ภาพ เซ็นเซอร์ของเราให้เสียงเราดังนั้นเราต้องการแก้ไขให้ถูกต้อง มีคนอื่นในโปรเจ็กต์เกิดความคิดที่จะถ่ายภาพ "สีดำ" เช่นใส่ฝาปิดเลนส์และถ่ายภาพที่มีความหมายว่าเป็นสีดำทั้งหมด (เห็นได้ชัดว่ามันไม่ใช่เพราะเสียงรบกวน) ณ จุดนี้ในการจับภาพต่อมาเขาใช้ค่าพิกเซลจากภาพสีดำและลบออกจากภาพที่ถ่ายเป็นประจำ ภาพดูดีขึ้นและเสียงส่วนใหญ่จะถูกลบออก แต่ฉันไม่เชื่อว่านี่เป็นวิธีที่ดีที่สุดในการลบเสียงรบกวนเนื่องจากสาเหตุดังต่อไปนี้: ช่วงของภาพคงที่คือ [-172 194] (ค่า 366) เมื่อเทียบกับช่วงมาตรฐานของ [0 255] เมื่อวาดใหม่มันจะอยู่ในช่วง [0 255] และดูดีขึ้น แต่ฉันเชื่อว่านี่ไม่ถูกต้อง ฉันควรพูดถึงว่าภาพใหม่ถ่ายในที่แสงน้อย วิธีนี้ถูกต้องสำหรับการลบเสียงรบกวนหรือไม่? ทำไมหรือทำไมไม่?

1
จะหาเคอร์เนล convolution ในโดเมนความถี่ได้อย่างไร
ฉันมีเวกเตอร์ข้อมูลปริภูมิสองตัว (แต่ละอันมีความยาวประมาณ 2,000 องค์ประกอบ) หนึ่งคือเวอร์ชันที่น่าเชื่อถือของอีกรุ่นหนึ่ง ฉันพยายามตรวจสอบเคอร์เนลที่จะทำให้เกิดการโน้มน้าวใจ ฉันรู้ว่าฉันสามารถทำได้โดยค้นหาการแปลงฟูริเยร์ผกผันของอัตราส่วนของการแปลงฟูริเยร์ของเวกเตอร์เอาท์พุทและอินพุต แน่นอนเมื่อฉันทำสิ่งนี้ฉันได้รับรูปร่างมากขึ้นหรือน้อยลงที่ฉันคาดหวัง อย่างไรก็ตามเคอร์เนลเวกเตอร์ของฉันมีมิติข้อมูลเดียวกันกับเวกเตอร์อินพุตสองตัวเมื่อในความเป็นจริงการบิดนั้นใช้เพียงหนึ่งในห้า (~ 300-400) ของคะแนน ความจริงที่ว่าฉันได้รูปร่างที่ถูกต้อง แต่จำนวนจุดผิดทำให้ฉันคิดว่าฉันไม่ได้ใช้ฟังก์ชั่น ifft และ fft ค่อนข้างถูกต้อง ดูเหมือนว่าถ้าฉันทำสิ่งที่ถูกต้องสิ่งนี้ควรเกิดขึ้นตามธรรมชาติ ตอนนี้ฉันกำลังทำอยู่ FTInput = fft(in); FtOutput = fft(out); kernel = ifft(FtOutput./FTInput). สิ่งนี้ถูกต้องและขึ้นอยู่กับฉันในการตีความเวกเตอร์เอาท์พุทอย่างถูกต้องหรือฉันมีงานที่เกินขนาด ฉันแน่ใจว่ามันหลังฉันไม่แน่ใจว่าอยู่ที่ไหน

12
การสลายตัวของสัญญาณ 1D เบลอโดยเคอร์เนลเสียน
ฉันได้ทำการสุ่มสัญญาณด้วย aa Gaussian และเพิ่มสัญญาณรบกวน (เสียง Poisson ในกรณีนี้) เพื่อสร้างสัญญาณที่มีเสียงดัง ตอนนี้ฉันต้องการถอดรหัสสัญญาณที่มีเสียงดังนี้เพื่อแยกสัญญาณดั้งเดิมโดยใช้ Gaussian เดียวกัน ปัญหาคือฉันต้องการรหัสที่ทำงานของ deconvolution ใน 1D (ฉันได้พบบางอย่างใน 2D แต่เป้าหมายหลักของฉันคือ 1D) คุณช่วยแนะนำแพ็คเกจหรือโปรแกรมบางอย่างที่สามารถทำได้หรือไม่? (โดยเฉพาะอย่างยิ่งใน MATLAB) ขอบคุณล่วงหน้าสำหรับความช่วยเหลือ

2
การสร้างภาพใหม่: เฟสเทียบกับขนาด
รูปที่ 1 (c) แสดงภาพทดสอบที่สร้างจากสเปกตรัม MAGNITUDE เท่านั้น เราสามารถพูดได้ว่าค่าความเข้มของพิกเซลความถี่ต่ำนั้นมากกว่าพิกเซลความถี่สูง รูปที่ 1 (d) แสดงภาพทดสอบที่สร้างขึ้นใหม่จากช่วงสเปกตรัมเท่านั้น เราสามารถพูดได้ว่าค่าความเข้มของพิกเซลความถี่สูง (ขอบเส้น) มีค่ามากกว่าพิกเซลความถี่ต่ำ เหตุใดความแตกต่างที่น่าอัศจรรย์ของการเปลี่ยนแปลงความเข้ม (หรือการแลกเปลี่ยน) จึงเกิดขึ้นระหว่างภาพการทดสอบที่สร้างขึ้นใหม่จากสเปกตรัม MAGNITUDE เท่านั้นและภาพการทดสอบที่สร้างขึ้นใหม่จากสเปกตรัม PHASE เท่านั้นซึ่งเมื่อรวมเข้าด้วยกันเป็นภาพทดสอบต้นฉบับ clc; clear all; close all; i1=imread('C:\Users\Admin\Desktop\rough\Capture1.png'); i1=rgb2gray(i1); f1=fftn(i1); mag1=abs(f1); s=log(1+fftshift(f1)); phase1=angle(f1); r1=ifftshift(ifftn(mag1)); r2=ifftn(exp(1i*phase1)); figure,imshow(i1); figure,imshow(s,[]); figure,imshow(uint8(r1)); figure,imshow(r2,[]); r2=histeq(r2); r3=histeq(uint8(r2)); figure,imshow(r2); figure,imshow(r3);

2
ใช้ตัวกรอง Gabor กับภาพอินพุต
ฉันพยายามใช้ตัวกรอง Gabor ที่มีสเกลเฉพาะ (ตามค่าของแลมบ์ดาและซิกมาดังนั้นจึงเป็น ( 7x7 ) และสำหรับการหมุน 4 ทิศทาง (0, ,และ ) ไปยังอิมเมจสเกลสีเทาอินพุตπ4π4\frac{\pi}{4}π2π2\frac{\pi}{2}3π43π4\frac{3\pi}{4} ในรหัสของฉันประสบความสำเร็จในสามขั้นตอน: สร้างตัวกรอง Gabor อ่านภาพ RGB จากนั้นแปลงเป็นระดับสีเทาและสุดท้ายเป็นสองเท่า ใช้ gabor ที่สร้างขึ้นกับภาพอินพุต ( ที่นี่ฉันไม่แน่ใจว่ารหัสของฉันเป็นจริงหรือไม่นั่นเป็นเหตุผลที่ฉันต้องการความเห็นของคุณ ) 1) -------------- สร้างตัวกรอง Gabor (ขนาด = 7x7 และ 4 การหมุน) %define the five parameters theta=....; %either 0 or pi/4 or pi/2 or 3pi/4 lambda=3.5; …


3
MATLAB:และ scaling
ใน MATLAB ผลลัพธ์ของfftและ / หรือifftฟังก์ชั่นมักจะต้องการการประมวลผลเพิ่มเติมก่อนที่จะได้รับการพิจารณาเพื่อการวิเคราะห์ ฉันเคยได้ยินความคิดเห็นที่แตกต่างมากมายในสิ่งที่ถูกต้อง: ขูดหินปูน Mathworks ระบุว่าfftและifftฟังก์ชันจะขึ้นอยู่กับสมการต่อไปนี้: X[k]x[n]=11⋅∑n=1Nx[n]⋅e−j⋅2π⋅(k−1)⋅(n−1)N,where1≤k≤N=1N⋅∑k=1NX[k]⋅e+j⋅2π⋅(k−1)⋅(n−1)N,where1≤n≤NX[k]=11⋅∑n=1Nx[n]⋅e−j⋅2π⋅(k−1)⋅(n−1)N,where1≤k≤Nx[n]=1N⋅∑k=1NX[k]⋅e+j⋅2π⋅(k−1)⋅(n−1)N,where1≤n≤N\begin{align} X[k] &= \frac{1}{1} \cdot \sum_{n=1}^{N} x[n] \cdot e^{\frac{-j \cdot 2 \pi \cdot (k-1) \cdot (n-1)}{N}}, \quad\textrm{where}\quad 1\leq k\leq N\\ x[n] &= \frac{1}{N} \cdot \sum_{k=1}^{N} X[k] \cdot e^{\frac{+j \cdot 2 \pi \cdot (k-1) \cdot (n-1)}{N}},\quad \textrm{where}\quad 1 \leq n\leq N \end{align} …
11 matlab  fft  ifft 

3
วิธีการวัดข้อตกลงระหว่างกับเส้นโค้ง?
ฉันมีค่า RSSI (พล็อตด้านล่าง) ของค่าที่คาดหวังในช่วงเวลาที่ฉันต้องการเปรียบเทียบกับค่า RSSI ที่วัดได้ของฉัน สิ่งที่ฉันกำลังมองหาคือวิธีการหาปริมาณเพื่อให้ฉันสามารถเปลี่ยนพารามิเตอร์และสามารถเปรียบเทียบ / เปรียบเทียบวิธีที่แตกต่างกัน มันเป็นปัญหาที่ยากในใจของฉันเพราะฉันไม่รู้วิธีเปรียบเทียบสัญญาณและยังคำนึงถึงสัญญาณขนาดใหญ่ (รูปร่างโดยรวม) และสัญญาณขนาดเล็ก (ความผันผวนของแต่ละบุคคล) ตัวอย่างเช่นนี่คือสัญญาณพล็อตหนึ่งชุด: ในภาพฉันเห็นได้ว่าสัญญาณการวัดสีแดงตามแบบจำลองคร่าวๆ แต่มันก็เป็นงานที่ดีในการจำลองคุณสมบัติไซน์บางส่วนของแบบจำลอง (ในบางแห่ง) ความคิดใด ๆ <> ในการตอบสนองต่อความคิดเห็นของ pichenettes (ซึ่งดูสมเหตุสมผล) ฉันใช้ความต่างของสองค่าและพล็อต abs (fft (diff)) และได้สิ่งนี้: ฉันไม่แน่ใจว่าจะทำอย่างไร เนื่องจากเราไม่มีความถี่จริงใด ๆ ฉันไม่แน่ใจว่าจะปรับขนาดแกนแล้วถ้าเป็นเช่นนั้นคุณจะใช้เมตริกอะไร

1
การแปลงความถี่จากเป็นเรเดียนต่อตัวอย่าง
ใน MATLAB ฉันต้องผ่านการตัดความถี่เพื่อออกแบบตัวกรอง แต่ความถี่ตัดนี้อยู่ในรูปเรเดียนต่อตัวอย่าง ฉันจะแปลงความถี่คัทเอาท์อนาลอกในเป็นเรเดียนต่อตัวอย่างที่ต้องการสำหรับ MATLAB ได้อย่างไร HzHz\textrm{Hz}
11 matlab  sampling 

2
การแบ่งส่วนของวัสดุโปร่งใสครึ่งหนึ่งเช่นแก้ว
ฉันติดอยู่กับปัญหาเกี่ยวกับการแบ่งส่วนของวัตถุที่เป็นแก้ว ฉันต้องการวัตถุที่แม่นยำที่สุดเท่าที่จะเป็นไปได้ แนวทางของฉันแตกต่างกัน ตอนแรกฉันพยายามที่จะลบพื้นหลังเพื่อให้มีเพียงส่วนโค้งที่คมชัดเท่านั้น แต่ใช้งานได้กับวัตถุที่มีขอบ / การไล่ระดับสีคม มิฉะนั้นวัตถุก็จะถูกลบออกด้วย ฉันโพสต์ภาพที่แตกต่างกันสองภาพ ฉันพยายามที่จะลบพื้นหลังผ่านการดำเนินการทางสัณฐานวิทยาเช่นการขยายสีเทาและ divison บนมัน แต่มันก็ไม่ได้ช่วยอะไรมาก หลังจากนั้นฉันลองใช้วิธี k โดยใช้ k = 3 เพื่อให้ได้พื้นหลังที่ถูกดัดแปลงแยกออกจากค่าสีเทาและสีดำของแก้ว ไม่ประสบความสำเร็จในบางกรณี แต่ไม่รวม / โดยเฉลี่ย ฉันยังพยายามตรวจจับขอบแสนรู้ด้วยตัวกรองเบลอโดยรวม แต่สิ่งที่นำไปสู่ผลลัพธ์ที่อ่อนแอลงในรูปแบบของรูปทรงเปิดเสียงรบกวนมากมาย ฯลฯ pp Canny ด้วยผลลัพธ์ขีด จำกัด อัตโนมัติ: testimg = imread('http://i.imgur.com/huQVt.png'); imshow(testimg) imedges = edge(testimg,'canny'); imshow(imedges); กันไปสำหรับภาพที่สอง อย่างที่คุณเห็นมีเสียงรบกวนมากมายทั้งในและนอกและเพิ่มขอบสองเท่าจากขอบแก้ว แม้จะมีช่องว่างที่ขอบ ดังนั้นฉันต้องการคำแนะนำของคุณสำหรับวิธีการทั่วไปในการจัดการกับปัญหาของวัสดุกึ่งโปร่งใสนี้ไม่ใช่เพียงแค่ภาพสองภาพนี้ 1) แนวคิดอื่น ๆ สำหรับการลบพื้นหลังโดยไม่ทำให้วัตถุเสียหายหรือไม่ 2) วิธีการแบ่งส่วนอื่น …

1
Thresholding แบบปรับตัวสำหรับการแบ่งส่วนตับโดยใช้ Matlab
ฉันต้องแบ่งตับออกจากภาพ CT ของท้องโดยใช้ Adaptive Thresholding แต่ฉันได้พื้นหน้าทั้งหมดแยกออกจากพื้นหลังเพียงอย่างเดียว ฉันต้องการเพียงส่วนตับของเบื้องหน้าที่แยกจากกัน ลองดูไฟล์ pdf ในhttp://www.ijcaonline.org/casct/number1/SPE34T.pdf ฉันต้องการเอาต์พุตคล้ายกับที่แสดงในรูปที่ 6 ฉันแนบรหัสของฉันที่นี่ กรุณาช่วยฉันออก %testadaptivethresh.m clear;close all; im1=imread('nfliver2.jpg'); bwim1=adaptivethreshold(im1,11,0.03,0); figure,imshow(im1); figure,imshow(bwim1); imwrite(bwim1,'at2.jpg'); function bw=adaptivethreshold(IM,ws,C,tm) %ADAPTIVETHRESHOLD An adaptive thresholding algorithm that seperates the %foreground from the background with nonuniform illumination. % bw=adaptivethreshold(IM,ws,C) outputs a binary image bw with the local % …

4
การกำจัดจุดรบกวนในภาพที่แบ่งส่วนทางการแพทย์
ใครบ้างสามารถแนะนำวิธีกำจัดสัญญาณรบกวน (ที่ระบุไว้ในสี่เหลี่ยมสีแดง) จากทุกจุดในภาพต่อไปนี้ในขณะที่รักษาเส้นสีขาวไว้ได้?

1
การสอบเทียบลำโพงอัลตราโซนิกและการส่งสัญญาณการสอบเทียบ
ฉันกำลังพยายามปรับเทียบลำโพงล้ำเสียงด้วยจุดประสงค์ของการส่งสัญญาณที่คาดเดาได้ แต่อนิจจาฉันยังคงมีปัญหาอาจเกิดจากการขาด DSP-fu ของฉัน พื้นหลังเล็กน้อย ฉันต้องการให้สามารถเล่นเสียงที่ใกล้เคียงที่สุดกับการบันทึกที่ปรับเทียบที่ฉันมี เท่าที่ฉันเข้าใจทฤษฎีฉันต้องค้นหาฟังก์ชั่นการถ่ายโอนลำโพงและถอดรหัสสัญญาณที่ฉันต้องการปล่อยออกมา บางสิ่งเช่นนี้ (ในโดเมนความถี่): X -> H -> XH ในกรณีที่Xมีการส่งสัญญาณปล่อยออกมาHเป็นฟังก์ชั่นการถ่ายโอนลำโพงและXHเป็นครั้งX Hส่วน ( ./) Hในขณะนี้ควรให้ฉัน ตอนนี้เพื่อที่จะปล่อยสัญญาณที่สอบเทียบแล้วมันควรจะถูกหารด้วยH: X/H -> H -> X เกิดอะไรขึ้น วางลำโพงและไมโครโฟนที่ปรับเทียบห่างกัน 1 เมตรบนขาตั้งกล้อง บันทึกการกวาดแบบเส้นตรงกว่า 30+ 150KHz-20KHz, ยาว 20ms และบันทึกที่ 500 KS / s สัญญาณที่มีการจัดตำแหน่งและเฉลี่ยโดยใช้สคริปต์ Matlab / Octave ด้านล่างภายใต้สคริปต์จะเห็นสัญญาณที่ได้ files = dir('Mandag*'); rng = [1.5e6, …

1
ฉันจะจำแนกสัญญาณที่วัดได้ที่ตำแหน่งต่าง ๆ โดยอัตโนมัติได้อย่างไร
ฉันมีไมโครโฟนที่วัดเสียงเมื่อเวลาผ่านไปในหลาย ๆ ตำแหน่งในอวกาศ เสียงที่ถูกบันทึกทั้งหมดมาจากตำแหน่งเดียวกันในอวกาศ แต่เนื่องจากเส้นทางที่แตกต่างจากจุดต้นทางไปยังไมโครโฟนแต่ละตัว สัญญาณจะถูกเปลี่ยน (เวลา) และผิดเพี้ยน ความรู้เบื้องต้นได้ถูกนำมาใช้เพื่อชดเชยเวลาที่ดีที่สุดเท่าที่จะทำได้ แต่ก็ยังมีการเปลี่ยนแปลงเวลาอยู่ในข้อมูล ยิ่งตำแหน่งการวัดใกล้เคียงกับสัญญาณมากเท่าไหร่ ฉันสนใจที่จะจำแนกยอดเขาโดยอัตโนมัติ ด้วยสิ่งนี้ฉันหมายความว่าฉันกำลังมองหาอัลกอริทึมที่ "มอง" ที่สัญญาณไมโครโฟนสองตัวในพล็อตด้านล่างและ "จดจำ" จากตำแหน่งและรูปคลื่นที่มีสองเสียงหลักและรายงานตำแหน่งเวลาของพวกเขา: sound 1: sample 17 upper plot, sample 19 lower plot, sound 2: sample 40 upper plot, sample 38 lower plot ในการทำเช่นนี้ฉันวางแผนที่จะทำการขยาย Chebyshev รอบจุดสูงสุดแต่ละจุดและใช้เวกเตอร์ของสัมประสิทธิ์ Chebyshev เป็นอินพุตไปยังอัลกอริธึมคลัสเตอร์ (k-mean?) ดังตัวอย่างต่อไปนี้เป็นส่วนหนึ่งของสัญญาณเวลาที่วัดที่ตำแหน่งใกล้เคียงสอง (สีน้ำเงิน) ประมาณ 5 ชุดโดย Chebyshev มากกว่า …

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