HomeEmguCV

EmguCV ile Resim Döndürme (Rotate, Flip, Transpose)

Merhaba arkadaşlar...
Bu yazımda herhangi bir resmi istediğimiz bir açıda nasıl döndürebiliriz bunu anlatacağım. Aşağıdaki uygulamada daha iyi gözlem yapabilmek adına Trackbar kontrolü ile açıyı değiştirip resmin anlık nasıl döndüğünü göstermekteyim.

UYGULAMA 1: Rotate


public partial class MainForm : Form
{
private Image<Gray, Byte> m_originalImage;
private static void fillSizeInfo(Label label, Mat m)
{
label.Text = m.Width + "x" + m.Height;
}
public MainForm()
{
InitializeComponent();
}
private void m_buttonOK_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() != DialogResult.OK)
return;
m_originalImage = new Image<Gray, Byte>(dlg.FileName);
m_pictureBoxOriginalImage.Image = m_originalImage.ToBitmap();
fillSizeInfo(m_labelOriginalSize, m_originalImage.Mat);
}
catch (Exception ex) {
MessageBox.Show(ex.GetType().Name + " " + ex.Message);
}
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
try
{
var img = m_originalImage.Rotate(trackBar1.Value, new Gray(255));
m_pictureBoxResult.Image = img.ToBitmap();
m_labelResultSize.Text = img.Width + "x" + img.Height;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
label1.Text = trackBar1.Value.ToString() + " " + "derece";
}
}
view raw ImageRotate.cs hosted with ❤ by GitHub

UYGULAMA 2: Flip




public partial class MainForm : Form
{
private Image<Gray, Byte> m_originalImage;
private static void fillSizeInfo(Label label, Mat m)
{
label.Text = m.Width + "x" + m.Height;
}
public MainForm()
{
InitializeComponent();
}
private void m_buttonOK_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() != DialogResult.OK)
return;
m_originalImage = new Image<gray byte="">(dlg.FileName);
m_pictureBoxOriginalImage.Image = m_originalImage.ToBitmap();
fillSizeInfo(m_labelOriginalSize, m_originalImage.Mat);
}
catch (Exception ex) {
MessageBox.Show(ex.GetType().Name + " " + ex.Message);
}
}
private void MainForm_Load(object sender, EventArgs e)
{
try
{
Enum.GetValues(typeof(FlipType)).Cast<fliptype>().ToList().ForEach(ft => m_comboBoxFlipTypes.Items.Add(ft));
m_comboBoxFlipTypes.SelectedIndex = 0;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void m_buttonResult_Click(object sender, EventArgs e)
{
try
{
var img = m_originalImage.Flip((FlipType)m_comboBoxFlipTypes.SelectedItem);
m_pictureBoxResult.Image = img.ToBitmap();
m_labelResultSize.Text = img.Width + "x" + img.Height;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
view raw ImageFlip.cs hosted with ❤ by GitHub

UYGULAMA 3: Transpose

Transpose : Matematikte özellikle de doğrusal cebirde (linear algebra) bir matrisin satır ve sütünlarının yer değiştirmesi anlamını taşır. Görüntülerde bir matris ifade ettiği için matematikteki transpozu resimlere uygulayabiliriz. Satırlar sütün, sütunlar satır olacağından resmin boyutu değişecektir.


public partial class MainForm : Form
{
private Image<Gray, byte> m_originalImage;
private static void fillSizeInfo(Label label, Mat m)
{
label.Text = m.Width + "x" + m.Height;
}
public MainForm()
{
InitializeComponent();
}
private void m_buttonOK_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() != DialogResult.OK)
return;
m_originalImage = new Image<Gray, byte>(dlg.FileName);
m_pictureBoxOriginalImage.Image = m_originalImage.ToBitmap();
fillSizeInfo(m_labelOriginalSize, m_originalImage.Mat);
}
catch (Exception ex) {
MessageBox.Show(ex.GetType().Name + " " + ex.Message);
}
}
private void m_buttonResult_Click(object sender, EventArgs e)
{
try
{
Mat m = new Mat();
CvInvoke.Transpose(m_originalImage, m);
var img = new Image<Gray, byte>(m.Bitmap);
m_pictureBoxResult.Image = img.ToBitmap();
m_labelResultSize.Text = img.Width + "x" + img.Height;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
See also related: EmguCV ile Görüntü Eşikleme (Image Threshold), EmguCV Gamma Düzeltmesi (Gamma Correction)
Ad

Arduino Autocad Bilim-Teknoloji Biyomedikal Sistemler C-Programlama C# C# Programlama Diferansiyel Denklemler Dijital Kontrol Sistemleri Elektrik Devreleri 1 Elektrik Devreleri 2 Elektrik Makineleri 1 Elektrik Makineleri 2 Elektrik Tesislerinde Koruma Elektromantetik Alan Teorisi Elektromantetik Dalga Teorisi Elektronik 1 Elektronik 2 Elektronik-Devreler EmguCV Genel Fizik Genel Kimya Genel Matematik Gömülü Linux Güç Elektroniği Haberleşme Sistemleri İşaret ve Sistemler Lineer-Cebir Lojik Devreler Malzeme Bilimi MATLAB Mikroişlemciler Olasılık ve İstatistik Otomatik Kontrol Sistemleri PLC-Otomasyon Proje Yönetimi ve Girişimcilik Raspberry Pi Sayısal Analiz Sayısal İşaret İşleme Teknik-Kutuphane Termodinamik Yüksek Gerilim Tekniği
false
ltr
item
Çağlar GÜL: EmguCV ile Resim Döndürme (Rotate, Flip, Transpose)
EmguCV ile Resim Döndürme (Rotate, Flip, Transpose)
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj7v6qsRT0Q4XachRLTK1IHaSmClPTErMtHuerJiceKWxb4jhJLZ9isjo7Inry_HrDNBZpX3ykVqQ7PghKVB5N1hTpW9mXsxUuKXphdHHhVisduzTPOoq877gtqrALKflO-KaLBTwf450/s1600/2.PNG
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj7v6qsRT0Q4XachRLTK1IHaSmClPTErMtHuerJiceKWxb4jhJLZ9isjo7Inry_HrDNBZpX3ykVqQ7PghKVB5N1hTpW9mXsxUuKXphdHHhVisduzTPOoq877gtqrALKflO-KaLBTwf450/s72-c/2.PNG
Çağlar GÜL
https://elektronikafa.blogspot.com/2017/05/emgucv-ile-resim-dondurme-rotate-flip.html
https://elektronikafa.blogspot.com/
http://elektronikafa.blogspot.com/
http://elektronikafa.blogspot.com/2017/05/emgucv-ile-resim-dondurme-rotate-flip.html
true
871250089272898028
UTF-8
Not found any posts Not found any related posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU Tag ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Contents See also related Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy