Skip to main content

im2col function in MATLAB explanation

Let us suppose we have


A=[1 1;2 2]

1 1

2 2 ... ok


Now img2col syntax  == im2col(A,[m n],block_type)


Where block type = ('distinct','sliding')

distinct places 0's in the final output,,,for padding,

sliding,,repeats from the very first matrix element. after all elements read out.


Now..


Now [m n] -- very important ....


Number of Rows to show = M*N (if m=2 ,, n=2 then each column has 4 elements..)

and Number of element fetch to repeat is M in row...

That means,,


OUTPUT OF THIS - im2col(A,[2 2], 'sliding')

ans =

     1
     2
     1
     2


-- if  A=[1 1 1;2 2 2]

A =

     1     1     1
     2     2     2


then


im2col(A,[2 2], 'sliding')

ans = contains 4 rows....as 2*2 ...   and fetch 2 elements as M=2 here...

and sliding ,,so repeats after 6th element..

     1     1
     2     2
     1     1
     2     2


Now... next


 im2col(A,[3 2], 'distinct')


Here 3*2=6 elements in each row....and fetch 3 elements,,as it contains,,2 elements ,,add 0

and here is the output..

ans =

     1     1
     2     2
     0     0
     1     0
     2     0
     0     0


 Next


im2col(A,[2 3], 'distinct')

-- 6 elements,,,,,and fetch 2 from each column,,,

ans =

     1
     2
     1
     2
     1
     2


NEXT


 im2col(A,[2 4], 'distinct')

-- 8 rows...and fetch 2,,,from each column...

ans =

     1
     2
     1
     2
     1
     2
     0
     0


NEXT


 im2col(A,[4 2], 'distinct')
here 8 rows....and fetch 4 elements from each column,,,as we have 2 then add 2 zeros...to make 4 as needed.


ans =

     1     1
     2     2
     0     0
     0     0
     1     0
     2     0
     0     0
     0     0



Simple...Enjoy,, :)

Comments

Popular posts from this blog

Export Doc,Access,Image,CSV,Excel,Pdf,XML,HTML,Text,Print of Gridview in Asp.net

First import itextsharp.dll in the solution and use three namespces (basically for pdf) using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp.text.html.simpleparser;          Then Use the following code :- on each button  click  protected void Page_Load(object sender, EventArgs e)         {             if (!Page.IsPostBack)             {                 BindGridDetails(GridView1);             }         }                 protected DataTable BindGridDetails(GridView GridView1)         {             DataTable dt = new DataTable();             dt.Columns.Add("Student_ID", typeof(Int32));             dt.Columns.Add("Student_Name", typeof(string));             dt.Columns.Add("Education", typeof(string));             dt.Columns.Add("City", typeof(string));             DataRow dtrow = dt.NewRow();             dtrow["Student_ID"] = 1;             dtrow["Student_Name"] = "Musakkhir";   

Ip Sec Internet Security Basic Structure

The IPsec suite is an  open standard . IPsec uses the following  protocols  to perform various functions: Authentication Headers (AH)  provide connectionless  integrity  and data origin  authentication  for IP  datagrams  and provides protection against  replay attacks . Encapsulating Security Payloads (ESP)  provide  confidentiality , data-origin  authentication , connectionless  integrity , an anti-replay service (a form of partial sequence integrity), and limited traffic-flow confidentiality. Security Associations (SA)  provide the bundle of algorithms and data that provide the parameters necessary to AH and/or ESP operations. The  Internet Security Association and Key Management Protocol  (ISAKMP) provides a framework for authentication and key exchange, with actual authenticated keying material provided either by manual configuration with pre-shared keys,  Internet Key Exchange  (IKE and IKEv2),  Kerberized Internet Negotiation of Keys  (KINK), or IPSECKEY  DNS records .

Advent of code 2022 day 22 part 1

  function main(input, input1) {     let grid = input.split( '\n' );     grid.shift();     // only in big input     for ( let i = 0 ; i < 100 ; i++) {         grid[i] = '                                                  ' + grid[i];     }     //console.log(grid[100])     grid = grid.map(x => x.split( '' ))     // find first left top allowed     let temppos = - 1 ;     grid[ 0 ].forEach((element, i) => {         if (temppos == - 1 && element == '.' ) {             temppos = i;         }     });     let initpos = new pos(temppos, 0 )     // console.log(initpos)     // make grid equal shape     let maxlength = 0 ;     grid.forEach(el => {         if (el.length > maxlength) {             maxlength = el.length         }     })     console.log(maxlength)     grid.forEach(el => {         if (el.length < maxlength) {             let diff = maxlength - el.length;             while (diff > 0 ) {                 di